ソリューションはうまく動作しますが、あなたはすでに2つのインスタンスを持っている場合、あなたは出てさらに少し考える必要があり、いくつかの計画を使用する場合があります。
データの損失に関する問題は当てはまりますが、最初にcdcプロセスを設計するときにこの問題を考慮する必要があります.1つの非常に適切な項目は、データの終点とは何ですか?たとえば、倉庫やレポートソリューションのデータマートのような単純なOLAP DBを使用するBIソリューションを使用している場合は、メンテナンスウィンドウの導入や現在のメンテナンスウィンドウの使用を検討することができます。このプロセスは単純で、Backsの回答と違っていません。
現在の_CTデータをすべてエンドポイントに転送します。
(sp_cdc_disable_table)テーブルに現在のインスタンスを無効に
変化があっても2あれば達成するためにこれが可能に更新された列のリスト(sp_cdc_enable_table)で再度
のインスタンスを有効にしますインスタンスは既にクライアントデータを失うことなく同じテーブルを対象としています。
注:列リストパラメータを使用する必要はありません(すべての列を取得する場合)が必要ですが、他の開発者がコードを確認する必要がある場合は、一貫性が望ましい場合があります。それでも、cdc.Xシステムテーブルを介してそのデータを取得するのと同じくらい簡単です。
ソーステーブルに新しい列を追加した後に[CDCテーブルが動作しない可能性があります](http://stackoverflow.com/questions/14958119/cdc-table-not-working-after-adding-new-columns-to -the-source-table) –
@ M.Hassan私は、新しい列を追加している間にCDCを無効にしたくありません。 – Mohan