2012-04-26 27 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