2012-02-19 38 views

回答

20

您可以單擊Management Studio中的Parse query按鈕。這是在工具欄上(也可以使用Ctrl + F5)藍複選標記:

parse.png

這僅驗證語法,並不會檢查你引用的對象存在,即連接是否有效等等。例如下面的正確分析,因爲遞延解決方案假定你的時候運行查詢「真正」的對象將存在:

SELECT foo FROM dbo.table_does_not_exist; 

這也通過解析:

SELECT d.foo 
FROM x.dbo.does_not_exist AS d 
INNER JOIN sys.objects AS s 
ON d.blat = s.bar; 

即使sys.objects存在但不包含列bar

它基本上是相同的機制,允許您編譯一個引用不存在的對象的存儲過程(這當然會在運行時失敗)。

+0

現在是微軟提供一種檢查無效對象名稱和語義的方法了。任何閱讀此文的人都可能擁有outlook/hotmail/live帳戶,請對此功能投票,我們將擁有一個很好的分析功能:http://connect.microsoft.com/SQLServer/feedback/details/361775/ssms-inconsistent-behavior -of-解析的功能 – 2014-07-28 15:25:45