ローマンの答えは、現在の状況であなたが探していたものだと思います:DELETE、UPDATE、INSERT(またはMERGE)。
現在、物事をさらに高速化できる他の可能なルートがありますが、プロセスはかなり異なります。
1. ときどきターゲットに対して実行するすべての注文をファイルに保存することを検討してください。
両方のデータベースがまったく同じであると仮定すると、2008 データベースを変更する SQL 命令ごとに、その命令を .sql ファイルに保存し、後で 2005 データベースに対して実行します。ファイルへの書き込み中にファイルをロックすることを検討する必要があり、おそらく何らかの冗長性があります。ただし、これは、2005 データベースで作業を行っている間は、2008 データベースにまったくアクセスする必要がないことを意味します。つまり、2008 年のデータベースの速度に副作用はありません。
落とし穴: ステートメントを見逃す可能性があり、目的地が完全に一致しない場合があります...
2.継続的なレプリケーション
MSSQL については、自動レプリケーションを行うための優れたツールを紹介できるほど詳しくありません ( http://technet.microsoft.com/en-us/library/ms151198.aspxを参照)。良いツールを見つけてください。MySQL ( http://dev.mysql.com/doc/refman/5.0/en/replication.html ) と PostgreSQL ( http://wiki.postgresql.org/wiki/Streaming_Replication ) にはそのようなツールがあり、それらはすべて無料です。
これが私が選択する解決策です。使用するツールによっては、ライブ システムへの影響が最小限に抑えられ、2005 の複製が数秒以内に更新されることを意味する、非常に最適化されたものになる可能性があります (長距離リモート接続であるかどうかに応じて、作業量、各サーバーのセットアップ、インターネット接続など)
落とし穴は明らかに、データベースに進行中のプロセスを追加することですが、PostgreSQL のストリーミング レプリケーションのように機能する MSSQL ツールを見つけた場合、それはジャーナルのコピーを利用します。ディスク I/O)
3. クラスター データベース (Cassandra など)
これには、データベースの変更が含まれますが、その準備ができていないと確信しています (特に、これらのシステムのほとんどが SQL を提供していないため)。
Cassandra ( http://cassandra.apache.org/ ) のようなシステムは、そのデータを多数のコンピューターに自動的に複製します。実際には、すべてのデータを 100% またはコンピューターごとに X% のデータをレプリケートするようにセットアップでき、障害が発生した場合 (コンピューターが故障した場合) に冗長性を持たせることができます。これにより、システムにいくつかのノードを追加するだけでパフォーマンスが向上するため、別のコンピューターに特定のコピーを作成する必要がなくなります。(コンピュータ 1,000 ドル未満で、それだけの価値があります! 率直に言って、5 万ドル以下で Peta Byte システムを作成し、最終的には、どの SQL データベースよりもはるかに高速なものを作成できます...)
主な問題は、これらのクラスターの使用が SQL とはまったく異なることです。しかし、これは大規模なデータベースを持ち、非常に高速である必要があり、ミニコンピューター (数ミリ秒で 1 億行を管理する Cobol と 25 万ドルのコンピューター) に投資したくない大企業にとってのソリューションになる可能性があります。 .)
Cassandra を使用すると、フロント エンド システムに影響を与えずに、バック エンド コンピューターで非常に負荷の高いバッチ プロセスを実行できます。