2009-07-10 78 views
0

我有兩個SQL Server(2000)數據庫。兩者都用於同一個項目,但版本不同。基本上,舊數據庫來自我們的測試環境。新數據庫來自開發環境。我們也有一個接受,生產和維護的環境,他們都包含同樣的項目。 (這是我們的發展之路,從D到T到A到P,最後是M)比較數據庫結構:如何創建SQL補丁?

現在,開發數據庫結構已經改變了。添加了一些表格,索引被添加或刪除,字段在類型中已經改變,並且可以爲空的字段變成不可空的,類似的東西。測試數據庫需要使用新結構進行升級,但不會丟失任何數據。現在,我正在做大量的體力勞動。我保留了一個結構變化列表,一旦一切就緒,我就編寫一個更新腳本來修補舊的測試數據庫。

但作爲一名軟件工程師,我只是懶洋洋地設計。那麼,是否有一些簡單的工具可以比較兩個數據庫結構並自行生成更新腳本?

(!只有改變結構,順便說一句無數據操作)

回答

2

在工作中我們已經使用了一些工具; AdeptSql Diff,我們正在試用Redgate的東西。 AdeptSql比Redgate便宜很多,而Redgate有很多非常棒的花裏胡哨的東西,既然我們已經擁有Adept,我們決定留下來。

http://www.adeptsql.com/

我很抱歉,我不知道任何免費的工具副手;我知道Redgate至少有一個試用期。

+0

不用擔心。它不一定是免費的。它只需要匹配我的團隊獲得新軟件許可證的預算。 :-) – 2009-07-10 14:15:43

3

是,最好的一個在我看來是Red Gate

他們提供的SQL工具列工具是非常好的,它包括的工具包,或者你可以得到它自己的SQL進行比較。不是免費的(除了14天的審判,我認爲),但非常值得的錢

+0

+1,我們也一直在使用。 – 2009-07-10 14:18:55

1

我已經使用了一個名爲sqlt-diff的命令行工具,它使用Perl SQL :: Translater(SQLFairy)來生成SQL數據庫模式。

https://metacpan.org/pod/distribution/SQL-Translator/script/sqlt-diff

這是一個免費的開源工具。我沒有手動編輯生成的差異來稍微定製它們。

+0

sqlt-diff是一款免費的開源工具。我沒有手動編輯生成的差異來稍微定製它們。 – Endosynth 2012-01-27 17:01:38