2012-04-26 24 views
34

我刚刚通过SSMS Designer将数据标识列添加到现有表中,表更新正常,我可以成功运行选择查询,但在查询结束后,我注意到新列以红色下划线,并显示一个错误,指出它是无效的列名。为什么会发生?如果列无效,我希望查询失败。 SSMS是否保留了某些必须刷新的旧表的内部引用?我尝试关闭数据库连接并重新打开它,但仍然出现相同的错误。不知道我在这里错过了什么。添加新列后,SQL Server无效列名

SELECT TOP 100 
[PRIMARY_NDX_Col1], 
[NEW_Col], --QUERY EXECUTES SUCCESSFULLY, BUT THIS IS UNDERLINED RED AS AN INVALID COLUMN 
[Col3] 
FROM [dbo].[MyTable] 
+1

刚刚尝试重新启动,并修复它。不知道在编辑表格后是否有办法动态清除SSMS 2008缓存。这似乎是人们花费数小时尝试排除故障的一种错误。 – kingrichard2005 2012-04-26 17:49:02

+0

你不需要重新启动SSMS来解决这个问题。保持这篇文章得心应手,其中一个最常见的原因是SSMS在刷新本地元数据缓存方面速度不够快。 http://www.mssqltips.com/sqlservertip/2591/troubleshooting-intellisense-in-sql-server-management-studio-2012/ – 2012-04-26 18:07:09

+0

请解释为什么提供的答案对于此问题是不可接受的,以便对它们进行增强提供。 @AaronBertrand在那里好的提示! – 2017-04-21 12:57:28

回答

106
  • 按CTRL + SHIFT + R
  • 去编辑>>智能感知>>刷新本地 缓存
+7

你救了我从轻微的头疼 – osaka 2012-09-06 20:07:18

+0

对不起,我在这里问了一年后..我正在使用sql server 2000广告我没有控制CTRL + SHIFT + R或称为IntelliSense和我'米得到同样的问题..任何想法? – Nejthe 2013-05-30 08:41:15

+0

感谢,困惑了我一会儿! – 2013-08-01 20:15:44

11

在SQL Server中,只是去编辑>>智能感知>>刷新本地缓存

+3

这是如何增加给定的值已经在以前的答案? – 2017-04-21 12:58:53