2011-04-22 86 views
4

我們有一個運行在SQL 2005上的生產數據庫。我們正在使用SQL 2008 Management Studio。我們遇到的問題是,我們編寫的一些存儲過程/函數獲得的代碼與SQL 2008兼容,但與SQL 2005不兼容。較新的管理工作室不會將此標記爲錯誤,但當我們嘗試部署一個版本,我們會得到大量的錯誤。有什麼辦法可以讓2008 Management Studio驗證代碼的兼容性嗎? 謝謝!我可以讓SQL 2008 Management Studio驗證SQL 2005的代碼嗎?

+1

的確,SQL Server 2008的SSMS在使用SQL Server 2005實例時不會突出顯示語法錯誤,但是您仍然可以使用* Parse *命令('Ctrl + F5')而不會出現任何問題。 (儘管最常見的* Parse *不會讓你看到由錯誤名稱引起的錯誤。) – 2011-04-22 14:40:05

回答

0

您可以在數據庫屬性的選項部分下將兼容級別設置爲SQL Server 2005(90)。

右鍵單擊數據庫,選擇「屬性」,然後選擇「選項」。

+1

這沒有幫助。這是爲了保持舊代碼在2008年無法運行,它不會阻止您使用新功能。 – HLGEM 2011-04-22 14:46:58

+0

感謝您的更正。 – Dave 2011-04-25 16:03:57

2

即使您使用的是Management Studio 2008,您的開發數據庫也應該與產品相匹配。當您的prod數據庫是2005年時,對照2008​​年的數據庫進行開發是一個非常糟糕的想法。您仍然可以在管理工作室2008中連接到2005年的數據庫。然後,您將立即發現代碼無效。事實上,如果你連接到2005數據庫,它只會讓你使用2005語法。我們連接到2000年的數據庫很長一段時間,直到我們得到所有的服務器升級,並且它不會讓我們編寫2008年特定的代碼,只要我們附加的數據庫是2000.

如果由於某種原因(和我我們還建議你在2008年的在線預訂中查看2008年的新功能,並確保你的所有開發者知道他們永遠不應該使用哪些功能。確保您的代碼審查人員根據列表檢查代碼。

+0

我真的不知道如何判斷一個數據庫是2005年還是2008年。我認爲我們的數據庫可能已經更新到2008年,因爲我們在嘗試在2005年DB上部署2008年功能時遇到了一些問題。特別是,我們遇到了Date數據類型的問題,並且在一步中聲明和分配變量(DECLARE @ID INT = 0)。 – GreenEggsAndHam 2011-04-22 19:26:06

+0

請選擇@@版本 – HLGEM 2011-04-22 19:46:14

相關問題