SQL Server中的Intellisense未更新

19

给定:

一个名为Table1的表格,它有以下列:

  • ID
  • ColumnA
  • ColumnB

在 Microsoft SQL Server Management Studio 中输入 Table1.,会显示该表格的列列表。

情景:

我打开 Table1 的设计视图,并添加了一个 ColumnC。我保存 Table1 并刷新它以查看新列 Column3 在对象资源管理器中的显示。

返回查询窗口后,我输入 Table1.,但无法选择 Column3。手动输入会出现语法错误,但运行包含该列的查询则能正常工作。

是否有某个菜单项需要点击才能让智能感知(Intellisense)获取我所做的 DDL 更改?


你能否详细解释一下或者把错误复制在这里呢?你的意思是当你运行 SELECT * FROM tabel1 时,根本看不到 Column3 吗? - Jay
1
不,问题在于Intellisense在缓存刷新之前无法识别新的列。虽然你仍然可以输入该列并获得良好的结果,但是你会看到红色波浪线。 - nycdan
1
顺便说一句,我同意刷新表格或数据库似乎应该自动执行这个操作。我很好奇是否有人知道它不会自动执行的原因是什么,或者这只是一个疏忽。 - nycdan
知道微软,可能是一个疏忽。:P - aarona
3个回答

49

编辑 -> 智能感知 - 刷新本地缓存

应该就可以了。

Ctrl-Shift-R 是快捷键。


3
除了刷新缓存之外,如果您还没有这样做,您还需要执行以下操作:
转到“工具”>>“选项”>>“文本编辑器”>>“Transact-SQL”>>“常规”>>“IntelliSense”。
勾选“自动列出成员”和“参数信息”,保存并重新启动。
我还强烈推荐Redgate SQL Toolbox,如果您经常使用SQL Server。SQL Compare、SQL Data Compare和SQL Prompt5在开发中节省了我很多时间。

0

发生这种情况时,我不得不重新启动管理工具。刷新对象资源管理器无法更新Intellisense。


2
查看被接受的答案,你将不再需要这样做了;-) - aarona

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