sql server无效的对象名称 - 但表列在SSMS表列表中

Ric*_*its 315 sql-server ssms

我正在尝试Stored Procedure为新创建的数据库创建一个.然而,SSMSintellisense不能识别已创建的表的一半以上.

例如,虽然在表格左下方列中我有一个表格dbo.Room,当我dbo.在新查询窗口中键入" "时,该表未列出,实际上只列出了37个表中的17个.

我可以看到intellisense列出的表与没有表的表之间没有区别.如果我手动输入dbo.Room,则会加下划线,错误为

无效的对象名称'dbo.Room'..

我在设置表时错过了什么吗?

更新:我已经尝试刷新表列表(几次)

Ada*_*son 663

尝试:

Edit- > IntelliSense- >Refresh Local Cache

这应该刷新Intellisense缓存的数据,以提供预先支持和执行前错误检测.

注意:您的光标必须位于查询编辑器中才能看到IntelliSense菜单.

  • 令人难以置信的是,在2012年你需要这样做.他们不能自动每隔几秒更新一次Intellisense吗? (35认同)
  • Intellisense/SSMS会定期刷新吗?或者这必须始终是一个手动过程?(我在2005年得到了基于SSMS的猜测,但人们总能希望.) (8认同)
  • 注意:您的光标必须位于查询编辑器中才能看到IntelliSense菜单. (8认同)
  • 这可能需要每隔几秒钟点击一次数据库并拉出表/视图定义. (6认同)
  • @jinglesthula:这样可以节省*me*击中数据库服务器! (5认同)
  • 2018年,没有变化. (3认同)

小智 75

Ctrl+ Shift+ R还在管理工作室2008中刷新intellisense.

  • @IbrahimAmer您的光标必须位于查询编辑器中,才能使Intellisense菜单选项可用.如果intellisense菜单选项不可用,则快捷方式将不执行任何操作. (4认同)

Nag*_*j S 35

一旦创建了新的SQL Server对象,新创建的对象就不会在IntelliSence Local Cache中更新,因此,它会在该对象下面显示红线.因此,您只需刷新SSMS IntelliSence Local Cache,刷新后,IntelliSence将自动在缓存中添加新创建的对象,红线将消失.试试这个

Edit -> IntelliSense -> Refresh Local CacheCtrl+ Shift+R

在此输入图像描述

  • @IbrahimAmer您的光标必须位于查询编辑器中,才能使Intellisense菜单选项可用.如果intellisense菜单选项不可用,则快捷方式将不执行任何操作. (4认同)

Dan*_*ura 25

确保所选数据库是表所在的数据库.我正在运行脚本Master.在我的情况下,我不得不切换到hr_db.

在此输入图像描述

菜鸟错误但是,可以帮助别人.

  • 老实说,我不确定这是菜鸟的错误,因为每当您重新连接服务器时,由于某种原因,它就会无缘无故地切换到“主服务器”。:) (3认同)
  • @ChrisRae:那是因为“master”被设置为用户登录的默认数据库。只需使用“sp_defaultdb”将其更改为另一个数据库,以便在登录时在 SSMS 中选择另一个数据库。(也可以在 SSMS 中通过“安全 > 登录 > 您的用户登录 > 属性 > 默认数据库”进行设置) (2认同)

Bac*_*its 18

在我的例子中,IntelliSense缓存列出了完全不同的数据库的对象信息.如果我单击SSMS中的"新查询"按钮,它将打开对我服务器上的默认目录的查询,该查询编辑器将始终只使用该数据库.刷新缓存并没有改变任何东西.重新启动SSMS没有改变任何东西.更改数据库没有改变任何东西.

我最后通过右键单击我实际想要使用的数据库并从该上下文菜单中选择"新查询"来创建查询. 现在 SSMS使用正确的IntelliSense对象.

  • 这也是我的情况.感谢分享. (3认同)
  • 查询前使用 datbaseName GO 也可用于设置上下文 (2认同)

Joh*_*som 10

你确定有问题的表存在吗?

您是否在对象资源管理器中刷新了表视图?这可以通过右键单击"tables"文件夹并F5按键来完成.

您可能还需要重新刷新Intellisense缓存.

这可以通过以下菜单路径完成:编辑 - >智能感知 - >刷新本地缓存


小智 8

解决方案是:

  • 点击菜单查询,
  • 然后单击"更改数据库".
  • 选择适当的数据库名称.

而已.


小智 7

当我使用这个语法问题解决时,我遇到了同样的问题。

句法:

Use [YourDatabaseName]
Your Query Here
Run Code Online (Sandbox Code Playgroud)


小智 5

即使在将 SP3 安装到 SQL Server 2008 Enterprise 之后,这仍然是一个“问题”。Ctrl+ Shift+R就像大家一直说解决了这个问题对我来说。