2009-01-09 77 views
11

我們在我們的SQL Server Management Studio(SSMS)中啓用「工具==>選項==>設計器==>表和數據庫設計器==>自動生成更改腳本」。在更改我們的數據庫模式時,我們保存了腳本,並且由於我們已經在運行我們的應用程序的所有機器上安裝了數據庫遷移工具,因此我們可以在下次軟件版本更新期間同步模式。SQL Server 2008自動生成更改腳本遺留問題

我們最近將開發副本和一些生產服務器切換到SQL Server 2008.但是,我們仍然有幾十個SQL Server 2005在野外運行我們的軟件。我們不打算在短時間內升級這些設備。

問題很簡單。由SSMS生成的腳本並不總是適用於SQL Server 2005. SMSS正在向命令添加額外的元數據(例如,有關鎖升級)。爲了在2005年製作腳本,我們必須手動刪除額外的信息,否則腳本不會運行。

有什麼辦法可以配置SSMS來生成與SQL Server 2005兼容的腳本嗎?有沒有工具會自動擺脫額外的SQL,或者至少讓我們知道哪些文件有問題?

+0

你看到了什麼特定的錯誤? – 2009-01-09 18:44:22

回答

13

在SQL Server Management Studio 2008中轉到工具 - >選項 - > SQL Server的對象資源管理器 - >腳本,然後選擇 「腳本的服務器版本」 並將其更改到SQL Server 2005

+0

我不敢相信我沒有注意到這一點。謝謝。 – 2009-01-12 15:49:13

+0

從我所看到的,即使使用選項設置,它生成的腳本也是不兼容的:(我將這個錯誤歸咎於SSMS中的錯誤(不是我看到的與配置選項有關的第一個錯誤!) – 2009-01-19 12:50:20

0

我還沒有使用2008管理工作室,但在以前的每個版本中,您都可以將腳本設置爲特定版本的SQL Server。

我有2005管理工作室設置爲生成2000兼容腳本出於類似的原因。

2

推薦的解決方案來改變選項似乎是corerct,但它仍然會在我的數據庫上生成ALTER TABLE SET(LOCK_ESCALATION = TABLE)(我甚至會將兼容模式設置爲90)