オープンソースの SQL Server DB 比較ツールはありますか?[閉まっている]

StackOverflow https://stackoverflow.com/questions/22792

質問

私は SQL Server 2005 をデータ ストアとして使用するオープン ソース プロジェクトに取り組んでいます。DB をあるバージョンから別のバージョンにアップグレードできるようにするための差分スクリプトを生成するには、DB 比較ツールが必要です。

変換スクリプトを生成するオープン ソースまたは無料の SQL Server DB diff ツールはありますか?

役に立ちましたか?

解決

Open DBiff は良い仕事をしていると思います。これは簡単で、SQL Server 2005/2008 で動作します。

ただし、変更スクリプトを生成するだけです。それ以上でもそれ以下でもありません。

他のヒント

昨日気づいたCodePlexについて DbDiff (http://www.codeplex.com/OpenDBiff)試してみるのもいいかもしれません。Sql2005と2008をサポートしていますが、試していません。

現金を出して入手することをお勧めします Red Gate の SQL 比較 このツールは優れた仕事をし、データベースを Visual Studio データベース プロジェクトと比較してアップグレード スクリプトを生成することもできます。速くて使いやすく、うまく機能します。アップグレード スクリプトもかなりの品質です。

そんなに高価なものではありません。おそらくあなたの時間よりも安いでしょう。自分の時給がいくらなのか、オープンソース ツールを調査して機能させるのに何時間かかるのか (そしてすでに費やした時間は何時間なのか) を考えて、それらを掛け合わせてください。これが「無料」ツールの実際の費用であり、多くの場合、商用ツールよりも大幅に高額になります。

オープンソースではありませんが、(ビールと同様に)無料です。 Sql Effects Accord (別名 Clarity) コミュニティ エディション

AdeptSQL Diff と DataDiff は素晴らしい製品で、RedGate よりもはるかに安価で、はるかに簡素化された UI を備えており、これで処理できないシナリオにはまだ遭遇したことがありません。

アロハ

試してみてはいかがでしょうか SqlDbDiff. 。変更スクリプトを生成できます。無料版でも十分な機能を果たします。

xSQL バンドル (xSQL データ比較と xSQL オブジェクト比較) を試してみた人はいますか?私たちの場所ではDBの差分のみを使用しており、同期は使用していないため、同期については言えませんが、差分とレポートは悪くありません。

また、OpenDBDiff にはスピンオフもありますが、どちらが優れているかはわかりません - http://code.google.com/p/sql-dbdiff/

ここで言及されている無料/オープンソース DB diff ツールのいずれかが、差分と同期を自動化するためのスクリプト化可能な/コマンド ライン インターフェイスを提供しているかどうか知っている人はいますか?

xSQL ツールを調べてみました。コマンド ライン アクセスは提供されていますが、残念ながら、差分結果を (レポート) ファイルにエクスポートするためのスクリプト可能なコマンドはありません。

これはあなたが望むものではありませんが、postgres に関してこれを見つけました。

http://mbk.projects.postgresql.org/

適用する差分は生成されませんが、テーブルの新しいバージョンの完全なダンプを以前のバージョンとマージできます。

うーん、私が知っているものはありません。いつでも定義を SQL として取得して、それらに対して diff ツールを実行できますが、後部で少し面倒です。

おそらくこれに対する最善の解決策は、ある種の「移行」ツールを使用することです。これにより、データベース定義をコードと一緒に保持したり、バージョン管理したりできます。

アップデート

Sourceforgeで私は見つけました Whiz SQL 構造の比較 この説明では:Whiz は、2 つの MS-SQL Server データベース間の違いを見つけるのに役立つデータベース差分ユーティリティです。また、あるデータベースから別のデータベースへの変更を更新する SQL スクリプトを生成することもできます。

しかし、これまでうまく機能させることができませんでした...

SQL デルタと SQL 比較の両方があります。それぞれに長所がありますが、それぞれに弱点もあり、それが非常に厄介です。

SQL デルタは比較の際に一部のトリガーを見逃し、アクション リストにないアクションを実行したり、実行してほしくないアクションを実行したりすることがあります。それはかなりの時間を費やして発見されました。

SQL Compare はトリガーを捕捉しますが、トリガーはテーブル リスト内に埋め込まれます。大規模なデータベースでは、各テーブルを調べてそれらを選別することを意味します。ツールが私たちのために隔離すべき何か。繰り返しますが、かなりの時間的コストがかかります。

少し遅れましたが、コードプレックス上に本当に単純なプロジェクトをリリースしました。

http://dbcompare.codeplex.com

2 つの接続文字列を入力 (または構築) すると、すべてのテーブル、ビュー、ストアド プロシージャが比較されます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top