SQL Server智能感知不刷新存储过程和函数列表

8
我正在尝试学习Microsoft SQL Server 2014。我定义了一些函数和存储过程,但SQL Server IntelliSense没有显示最新的内容,并将它们划为错误。
虽然当我执行时,SQL Server的代码可以正常工作,但它仍将这些代码标记为错误。我的问题是:为什么SQL Server会将可以正常工作的语句标记为错误?

2
如果它的工作方式类似于SQL Server 2008的SSMS,则这是Intellisense为SQL Server工作的限制-您必须刷新Intellisense缓存,使查询窗口识别新对象。尝试使用Ctrl-Shift-R(http://www.sureshjoshi.com/development/ssms-refreshing-intellisense/)进行刷新。 - outis nihil
2
只需使用“编辑>智能感知>刷新本地缓存”,它就会像预期的那样再次正常工作。 - marc_s
3
寻找[CTRL+SHIFT+R](http://msdn.microsoft.com/en-us/library/ms174205.aspx)**刷新本地缓存**。 - Adriaan Stander
2个回答

16
无论是创建新表、存储过程、函数等还是修改数据库对象(例如在表上添加/删除列),都将发生这种情况。
你只需要刷新Intellisense缓存,它就会查找新对象。使用快捷键ctrl+shift+r或使用菜单选项 Edit > Intellisense > Refresh Local Cache 即可实现,如下图所示:

enter image description here


仅仅是为了阐述为什么这是必要的,考虑一下另一种选择;如果有任何新对象,SSMS将不得不轮询每个数据库并在有新对象时更新UI。如果连接了很多客户端,那么这会给服务器带来很大的负载。 - Ben Thul

3

为了刷新Intellisense,以便将您最新的存储过程或表更改纳入其中:

  1. 打开任何存储过程(右键单击并选择修改)
  2. 从菜单中选择“编辑”>“智能感知”> 刷新本地缓存

就这样了!


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