web-dev-qa-db-ja.com

トランザクションレプリケーションで非クラスター化インデックスをコピーする方法

トランザクションレプリケーションを作成しましたが、非クラスター化インデックスを含めることを忘れてしまい、サブスクライバーにはクラスター化インデックス(主キー)しかなく、すべての非クラスター化インデックスをサブスクライバーに転送したいと思います。この回答に基づいて http://www.sqlservercentral .com/Forums/FindPost1325516.aspx パブリッシャーですべての非クラスター化インデックスをスクリプト化してからサブスクライバーで実行することをお勧めしますか、それともより良い別の方法がありますか?

4
GeoVIP

これは可能です。

しかし、私が知る限り、それはレプリケーションを壊します。オプションを有効にして、新しいスナップショットでサブスクライバーを再初期化する必要があります。また、非クラスター化インデックスにINCLUDEDが設定されている場合は、定義(.IDXファイル)を手動で変更して、それらにINCLUDEDを追加する必要があります。

ここ の説明に従って、非クラスター化インデックスを複製できるオプションを有効にできます。

述べたように:

記事のオプションを変更すると、数回クリックするだけですべてのサブスクライバーに効果的にインデックスが作成されます。また、パブリケーションに対して新しいスナップショットが作成され、サブスクライバーに適用された場合、それらのサブスクライバーで直接作成されたインデックスは削除されます。すべてのインデックスが必要ない場合は、代わりに、サブスクライバーで直接選択的なインデックスを作成できます。ただし、アーティクルのレプリケーション設定でオプションを直接変更することで、管理オーバーヘッドが削減されます。

1
KASQLDBA