2012-03-13 50 views
1

如何在沒有第三方軟件的情況下在SQL Server 2005上的兩個數據庫之間做差異?只有sqlcmd或SQL Management Studio。在SQL Server 2005上作出差異

的差異必須是隻在結構:表,存儲程序(USP),視圖等

感謝。

注意:不,我不可以安裝什麼,是爲舞臺環境。

+0

我認爲這裏有兩個部分的問題。一個是提取模式,另一個是生成schema-diff。 SMO可以用於以易於重複的方式提取模式(例如使用PowerShell)。然而,比較模式 - 除了最瑣碎的「什麼是不同的?」之外的任何東西。案例 - 我真的會考慮選擇Schema Diff工具(並在提取模式中在開發環境*中運行*)。大多數Schema Diff工具非常不友好,需要「真正的數據庫」,但有些工具只能用於腳本。 (價格> 0美元。)另外,*也許嘗試DBA堆棧*。 – 2012-03-13 17:49:04

回答

3

使用All Tasks -> Generate Script,並將兩臺服務器的結果保存在不同的文件中。

現在,您可以使用標準差異工具(例如windiff)來比較兩者。由於您正在比較工作站上的文件,因此不必在數據庫服務器上安裝任何內容。

+0

非常感謝您的解決方案! – 2012-03-13 17:31:39

+1

不幸的是這非常費時。有第三方解決方案可以採用「腳本」並使用它們生成適當的模式差異。當然,這是付費的。 (我還沒有在開源/免費產品上找到類似的功能,不包括先手動導入到活動數據庫。)另外,「生成腳本」需要一堆[每次]點擊才能使它「恰到好處」: -/ – 2012-03-13 17:43:29

+0

感謝您的提示。真的,如果沒有在生產環境中安裝它,我就無法安裝任何東西(我不能這麼做),即使它是開源的。 – 2012-03-13 18:19:31