IntelliSense不起作用,但已启用


30

事实证明,这个问题确实很棘手(而且很烦人)。

在SQL Server Management Studio 2008中,直到几天前,我的IntelliSense仍然运行良好。然后突然停了下来。在工具栏菜单上启用的图标,在“工具”->“选项”->“文本编辑器”->“ T-SQL”->“ IntelliSense”下,它表示已在此处启用。

我尝试使用Ctrl-Shft-R刷新IntelliSense缓存,但这也不起作用。

有什么想法可以解决我的IntelliSense以及我需要做些什么才能取回它?

Answers:



30

IntelliSense无法正常工作的可能性有很多:

在某些情况下,IntelliSense使用的本地缓存会过时。刷新缓存很容易,但不一定很明显。

有两种刷新缓存的方法:

  1. 击中 Ctrl+Shift+R
  2. 转到编辑-> IntelliSense->刷新本地缓存

如果IntelliSense仍无法正常工作,请确保已启用IntelliSense。要从当前数据库的T-SQL查询编辑器窗口中进行检查:

  1. 转到工具->选项->文本编辑器-> Transact-SQL->常规-> IntelliSense
  2. 转到查询->应该选择IntelliSense
  3. 还要确认T-SQL编辑器没有在SQLCMD模式下启动。去检查:

    • 转到工具->选项->查询执行-> SQL Server->常规
    • 确保未选中“默认情况下,以SQLCMD模式打开新查询”。
    • 或不应选择转到查询-> SQLCMD模式

阅读更多


15

我遇到了这个问题,因此我遵循了Ritesh D的建议,转到“ 工具”->“选项”->“文本编辑器”->“ Transact-SQL”->“常规”。我检查了IntelliSense,发现它已被启用。

但是,我发现未选中“自动列表成员”和“参数信息”。所以我检查了他们。这解决了我的问题。

在此处输入图片说明

我认为这两个功能是“智能”,Microsoft并不反对

IntelliSense是许多功能的统称:列表成员,参数信息,快速信息和完整Word。这些功能可帮助您了解有关正在使用的代码的更多信息,跟踪正在键入的参数以及仅需几次按键即可添加对属性和方法的调用。


9

请检查是否在菜单选项工具->选项->文本编辑器-> Transact-SQL->常规-> IntelliSense下将最大脚本大小设置为“无限制”。我做到了,智能感知开始工作


5

当您使用具有低传输连接的远程数据库(例如,我从欧洲连接到远东的办公服务器)并且数据库的结构不小(例如,许多表)时,SSMS需要花费更多的时间来完成所有IntelliSense数据。

就我而言,我必须等待1分钟以上才能访问IntelliSense(缓慢的连接和大约1000个表的数据库)。(SSMS不显示任何进度指示器或与IntelliSense的加载过程有关的任何信息)


1

离线数据库可能导致智能感知停止工作。您可以通过将连接的服务器中的任何数据库置于OFFLINE并将其还原来对其进行测试。

我可以确认为SQL 2016错误


1

正如Azure所建议的,当我撤销对公共用户的某些权限时,我注意到了此问题。这有助于解决我的问题:

use master
go
GRANT EXECUTE ON [xp_instance_regread] TO [public]
GRANT EXECUTE ON [xp_regread] TO [public]

-3

我在SQL Server 2008 R2中遇到了相同的问题。仅在应用SQL Server 2008R2 Service Pack 1后解决。


SQL Server 2008和SQL Server 2008 R2是不同的版本。问题是关于前者,而你的答案是关于后者。
Andriy M
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.