DBの構造を比較する

DbDiff
http://www.codeplex.com/DbDiff
より。



Compare MSSql database structures. (Sql 7,Sql 2000,Sql 2005)
Features:

  • compare database structure (sql2000 <-> sql2000 or sql2000 <-> sql2005 or sql2005 <-> sql2005)
  • scripting without dmo or smo
  • commandline scripting, commandline compare
  • standalone dll-s for referencing from another .net project
  • many compare options (and we can easily extend for new properties with option designer)
  • easily extend for other sql databases
  • and many more



SQL Serverデータベースの構成を比較する(SQL Server 7,2000,2005)


機能:

  • データベース構成の比較(sql2000 <-> sql2000 or sql2000 <-> sql2005 or sql2005 <-> sql2005)
  • dmo,smo無しでのスクリプティング
  • .netプロジェクトから利用するためのdllライブラリ
  • さまざまな比較オプション(オプションデザイナで新しいプロパティにも簡単に対応可能)
  • 他のSQLデータベース対応も容易

などなど


詳細は、上記のサイトを参照


DMO、SMOというのが何か分からなかったので、ちょっと調べてみた。


データベースのためのスクリプト
http://www.microsoft.com/japan/msdn/columns/scripting/scripting01102000.aspx


分散管理オブジェクト (DMO) は、SQL Server データベースとレプリケーションの管理をカプセル化する COM オブジェクトのセットです。つまり、タブで区切られたファイルに特定のテーブルからすべてのデータをコピーする WSH スクリプトを記述することができることを意味しており、データを移動させる場合などに利用できます。コードを簡単に記述できるという理由からこの例を選びましたが、DMO を使用すると SQL Server 内に存在するほとんどすべてのオブジェクトにアクセスすることができるので、非常に重要な管理スクリプトを作成することができます。


SQL Server 管理オブジェクト (SMO)
http://msdn.microsoft.com/ja-jp/library/ms162169.aspx


SQL Server 管理オブジェクト (SMO) は、Microsoft SQL Server の管理オブジェクトのすべての側面をプログラミングできるように設計されたオブジェクトの集まりです。SQL Server レプリケーション管理オブジェクト (RMO) は、SQL Server レプリケーション管理をカプセル化するオブジェクトの集まりです。


というわけで、SQL Serverの管理オブジェクトに

ということらしい