0

次のシナリオでは、SQL Server2008R2のテーブルを別のサーバーにあるデータでリロードする必要があります。ターゲットテーブルにはインデックス(クラスター化および非クラスター化)と制約(複数のテーブルへの外部キー)があり、主キーは別の別のテーブルへの外部キーでもあります。また、ターゲットテーブルの主キーはIDです。

この状況に取り組む上で、「ベストプラクティス」として最も適切なものは何でしょうか。

以下は合理的でしょうか:

  • ターゲットテーブルにインデックスを削除する-(SQLスクリプトタスク)
    • 最初に非クラスター化インデックスを削除します
    • 次に、クラスター化されたインデックスを削除します
  • ソーステーブルからターゲットテーブルへのDataFlowポイント。
    • Destination Editorで、Keep Identity、Keep nullsをチェックし、Checkconstraintのチェックを外します。
  • ターゲットテーブルにインデックスを作成する-(SQLスクリプトタスク)

テーブルの構造と制約は、ソーステーブルとターゲットテーブルで同じであると予想されることに注意してください。言い換えれば、QAから開発までのデータをリロードするだけで同じです。

4

1 に答える 1

1

良さそうDon't drop clustered index ですが、必要に応じてすべての外部キー制約を無効にすることができ、ロード後にデータがリレーショナル一貫性がない場合は NOCHECK で有効にすることができます

于 2012-10-17T18:53:23.657 に答える