4

私は、歯が長くなっているプロジェクトでRedGateSQL比較APIを使用しています。私たちはその能力の一部を使用しており、他のオプションを評価しています。

私たちのシナリオは基本的にこれです:

  • 同一のスキーマを持つと見なすことができる2つのSQLServer2008データベースがあります。
  • データベースは小さいです。ほとんどのテーブルの行数は10K未満です。100未満のものもあります。
  • DB1は「プライマリ」と見なすことができます。DB1に直接変更を加えるだけで、それらの変更はDB2に伝播されます。
    • 5つのテーブルの小さなセットをDB1で変更する場合は、すぐにDB2に複製する必要があります。
    • 場合によっては、データベース全体(ログなどの除外テーブルのセットを除く)を、DB1からDB2に一度に複製する必要があります。これは、Webフォームからトリガーされます。

現時点では、これらすべてがRedGateのSDKを使用してコードで処理されて汚い作業を行っています。

他にどのように私はこれについて行くことができますか?正しい選択だと思われる場合は、純粋なSQL Serverソリューション(レプリケーション?)を受け入れますが、純粋なC#ソリューションでは、私のドリフトを捉えれば、IT部門とのやり取りが少し少なくて済みます。

4

3 に答える 3

2

パーティーに少し遅れていることは知っていますが、DBのスキーマ部分を実行するAtlantis.SchemaEngineにソースコードをリリースしたばかりで、Atlantis.DataEngineをリリースするかどうかを検討していました(それを推測する賞はありません)します)。それは興味深いものですか?SchemaEngineはここにあります。

于 2011-03-01T00:42:22.233 に答える
2

私が知っている他の唯一のプログラマビリティ製品は、ApexSQL の Diff API です。Apex SQL Diff は同様の製品であり、独自のアプリでこれらのことをプログラムで行うための API も公開しています。

自分で使用したことはありませんが、他の ApexSQL ツールを使用した (そして本当に楽しんだ) ことはありますが、強くお勧めします。

于 2010-06-17T21:26:48.273 に答える
1

FluentMigratorを使用してみてください。これは、.NET用のデータベース移行ライブラリです。これを使用してC#でスキーマを定義し、変更を両方のデータベースにプッシュできます。

于 2011-02-14T10:47:57.543 に答える