2009-08-05 176 views
7

在一個團隊中工作,人們往往會修改開發SQL Server表並忘記它,或者準備對部署進行更改並且必須等待該部署。這使我們的開發人員和活動表格不一致,導致在SPROC實時推送時出現問題。SQL Server diff工具

有沒有一種工具可以讓我輸入SPROC名稱並讓它檢查dev和live DB中引用的所有表,並通知有什麼區別?

回答

9

我知道版本比較SQL數據庫結構的兩個優秀的工具 - 他們沒有專門針對他們的文字看起來裏面存儲過程,但他們帶你去結構上的差異在你的數據庫:

Redgate也有一個SQL Dependency Tracker可視化對象依賴關係,在這裏可能非常有用。

馬克

2

我會建議SQL比較,並從Redgate Software SQL數據比較。我與這些工具一起工作了幾個項目,他們做得很好。記錄更改也是一件好事,但某些更改會很複雜,因此無法編寫自己的SQL代碼(包括在表間進行數據交換)。

redgate工具可以在幾秒鐘內創建腳本,而且這些腳本幾乎總是正確的(一些舊版本在大型數據庫中很難處理表依賴性,但是在處理這些語句時(在開始事務/回滾)我能夠快速解決這些問題)。

redgate套件的另一個優點是您可以保存比較項目。當你不想轉換某個表(或數據)時,這是特別有用的,你可以排除它們。當下次加載項目時,軟件將自動忽略這些表格。

一個缺點是軟件的成本(與我合作的小公司不想購買該軟件)。 SQL比較和SQL數據一起比較會花費你大約800美元,但是如果你看看你在發佈時會節省的時間,你將節省很多錢。還有一個你可以玩的試驗(我相信30天)。

+1

SQL比較和SQL數據比較可以爲$ 595 SQL比較軟件包的一部分一起購買。 SQL Packager和SQL依賴跟蹤也包括在內。 – 2009-10-28 09:19:58

1

我做了一個MssqlMerge工具,它允許進行比較(與合併)MSSQL數據庫的數據和編程對象。它還允許在表格定義和編程對象中搜索特定的單詞或短語。

1

對於SQL Server 2005/2008,Open DBDiff工作得很好。關於這一點的重要部分是它的免費。另外請注意,我正在編寫適用於SQL 2005/2008版本0.9的此答案。

它會向您顯示您指定的源數據庫與指定的目標數據庫之間的數據庫模式之間的差異。還有可點擊的按鈕,可以更新或創建有問題的表格。

2

SQLDBDiff是一個不錯的和用戶友好的精簡工具。

SQLDBDiff支持SQL Server 2000 to 2016SQL Azure

SQLDBDiff可用於free有限使用和完整有trial

SQLDBDiff Screen

More Screen