現在、SSISデータのロード中にTableDiffユーティリティを使用して、ステージングテーブル(更新する最新のデータを持つ - 挿入/更新/削除)から実稼働中のライブテーブルを更新しています。SQL Server 2008のTableDiffユーティリティの代替方法は何ですか?
しかし、TableDiffは差異を特定し、そのジョブが更新に使用するSQLスクリプトを作成するのにかなりの時間がかかります(数時間から数千回の更新行を約100,000回の更新行数日かかる)。
SQL Server 2008でTableDiffユーティリティを使用した方が良いでしょうか、それともプロセスやアイデアが優れているのでしょうか?
更新: 両方の製品/ユーティリティのオプションをお探しだけでなく、より良いアルゴリズムを作ってそれより速く
重要な問題。私は数日前にこのような状況に直面しました。私はステージングテーブルで 'Timestamp'(または任意のFlag)の余分な列を使用しました。宛先テーブルにデータをロードするときは、 'Timestamp'(またはFlag)をチェックします。データが完全にロードされた後、列(タイムスタンプまたはフラグ)を更新します。このシナリオでは、 'Deleted'データを追跡する必要がないので、うまくいきました。 –