SQL服务器无效的对象名称 – 但表列出在SSMS表列表中
我正在尝试为新创build的数据库创build一个存储过程。 然而,SSMS intellisense不能识别已经创build的表格的一半以上。
例如,在表格下方的左边一列中,我有一个表dbo.Room
,当我在新的查询窗口中input“ dbo.
”时,表中没有列出,实际上只列出了37个表中的17个。 通过intellisense列出的表格与没有列出的表格没有区别。 如果我手动键入dbo.Room,则会加下划线,并显示错误“ Invalid Object Name 'dbo.Room'.
”。
我在设置表格时错过了什么?
更新:我已经尝试刷新表列表(几次)
尝试:
编辑 – > 智能感知 – > 刷新本地caching
这应该刷新由Intellisensecaching的数据以提供预先支持和预执行错误检测。
Ctrl + Shift + R也在pipe理工作室2008中刷新智能感知。
一旦创build新的SQL Server对象,新创build的对象不会在IntelliSence本地caching中得到更新,因此,它会在该对象下方显示红线。 因此,您只需刷新SSMS IntelliSence本地caching,一旦刷新它, IntelliSence
将自动将新创build的对象添加到caching中,红线将消失。 尝试这个
Edit -> IntelliSense -> Refresh Local Cache
或Ctrl + Shift + R
在我的情况下,IntelliSensecaching列出了一个完全不同的数据库的对象信息。 如果我单击SSMS中的“新build查询”button,它将打开一个查询到我在服务器上的默认目录,该查询编辑器将始终只使用该数据库。 刷新caching并没有改变任何东西。 重新启动SSMS并没有改变任何东西。 更改数据库并没有改变任何东西。
我最终创build了一个查询,通过右键单击我想要使用的数据库,并从该上下文菜单中select“新build查询”。 现在, SSMS使用智能感知的正确对象。
你确定有问题的表存在吗?
你是否刷新对象资源pipe理器中的表格视图? 这可以通过右键单击“表”文件夹并按F5键来完成。
您可能还需要重新刷新智能感知caching。
这可以通过菜单路线完成:编辑 – >智能感知 – >刷新本地caching
即使在将SP3安装到SQL Server 2008 Enterprise之后,这仍然是一个“问题”。 Ctrl + Shift + R就像大家一直在说的那样为我解决了这个问题。
解决scheme是:
- 点击菜单查询,
- 然后点击“更改数据库”。
- select适当的数据库名称。
而已。
你尝试过:右键单击数据库,然后单击“刷新”
我意识到这个问题已经被回答了,但是,我有一个不同的解决scheme:
如果您正在编写一个脚本,而不重新创build它们,那么稍后尝试引用它们时,这些表格将显示为缺失。
注意:对于一直在运行的脚本,这不会发生,但是有时脚本的查询要比每次input脚本要容易得多。
当我使用这个语法问题解决了同样的问题。
句法:
Use [YourDatabaseName] Your Query Here
解决了SSMS 2016。
有类似的问题,但Intellisense不在编辑菜单。
什么似乎解决它是打开和closuresIntellisens,右键单击SQL编辑器,然后单击“智能感知启用”。 再次右键点击“Intellisense Enabled”将其重新打开。 Ctr Q,我也是这样做的。
这解决了这个问题,我也知道在编辑菜单上获得智能感知。
我只需要closuresSMSS并重新打开它。 我尝试刷新本地caching,并没有工作。