在SQL Server Management Studio中失去了IntelliSense

17

我正在使用 SQL-2008 R2 服务器。

通常情况下,当我编写查询时,会出现完整的 IntelliSense 显示我的数据库中的所有对象。

但是,最近在进行任务时,它没有显示 IntelliSense。相反,当我写入对象名称时,它显示该对象是无效的!然而,运行查询会给出正确的结果。

我关闭了管理工具并重新启动了它。现在一切正常。

我想知道实际上出了什么问题。有任何想法吗?


它被称为 IntelliSense。我已经更正了。 - Daniel Hilgarth
5个回答

24

你可能需要刷新一下它。可以采取以下两种方式:

  1. 前往“编辑”→“智能感知”→“刷新本地缓存”。
  2. 使用快捷键 Ctrl+Shift+R

1
你需要将焦点放在查询窗口上,否则此菜单项将不会出现,Ctrl+Shift+R也无法工作。 - Luke
当您在SQL中创建新实体(如表、视图、存储过程)时,需要清除缓存,否则将无法使用IntelliSense。对我而言,在SSMS 18.10上,快捷键Ctrl+Shift+R非常好用。 - Dany

2

从我回答的另一个问题中...有一种自动刷新的方法,而不必手动执行控制Shift R。

我发现了一个提供免费社区版插件的插件。SSMS Boost提供了一些有用的功能,可以绕过SSMS的缺点。

为了自动刷新,我设置了F5的快捷键来运行查询,然后自动刷新Intellisense。现在,每次我执行时,我的intellisense缓存都会自动刷新。似乎复制了Red Gate的SQL Prompt实验功能中的自动刷新功能。


2
一幅画胜过千言万语。

enter image description here


0

激活列名的智能感知:

首先输入FROM子句(FROM tblEmps),然后返回并输入SELECT子句(SELECT EmpID, LName)。

这样,智能感知将帮助您挑选要在SELECT语句中包含的列名。

SELECT __________
FROM tblEmps

这里的技巧是在键入SELECT子句之前先键入FROM子句,这样IntelliSense就知道要建议哪些列了。

0

我发现有时候在进行缓存刷新之前,你需要先进行数据库的“刷新”步骤。

Refreshing the database (before Cache refresh step)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接