我正在尝试为新创建的数据库创建存储过程。然而,SSMS智能感知不能识别超过一半的已创建的表。

例如,在表的左边这一列,我有一个表dbo。当我在新的查询窗口中输入“dbo.”时,没有列出那个表,实际上37个表中只列出了17个。

我看不出智能感知和非智能感知列出的表格有什么不同。如果我手动输入dbo。房间,它是下划线,有一个错误

无效对象名称“dbo.Room”…

我是不是在摆桌子的时候漏掉了什么?

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


当前回答

确保选中的DB就是表所在的DB。我在Master上运行脚本。在我的例子中,我必须切换到hr_db。

新手的错误但是,可以帮助别人。

其他回答

解决方案是:

点击“查询”菜单, 然后点击“更改数据库”。 选择合适的数据库名称。

就是这样。

Ctrl + Shift + R刷新management studio 2008中的智能感知功能。

在azure data studio中按“cmd+shift+p”并输入“intellisense”,然后你会看到一个刷新智能感知缓存的选项。

在我的例子中,我试图修改数据库中不存在的存储过程,在创建它并刷新本地缓存之后,它工作了

我意识到这个问题已经有了答案,但是,我有一个不同的解决方案:

如果您正在编写一个脚本,其中删除了表而没有重新创建它们,那么在稍后尝试引用这些表时,这些表将显示为丢失。

注意:对于经常运行的脚本,这不会发生,但有时使用带有查询的脚本比每次都输入查询要容易得多。