1

私が遭遇した他のいくつかのデータベースでは、データベースの (スクリプト化された) ダンプを復元するときに一貫性チェックをオフにすることができます。アイデアは、データベースからスクリプトをダンプしたときに、一貫性チェックを行わずに安全に復元できるということです。これにより、速度が向上し、さまざまなテーブル、外部キーに格納する順序に妨げられなくなります。ビューなど

(Microsoft SQL (2005) では、「スクリプトの生成と発行」があります。)

MS SQL にそのようなスイッチはありますか? そして明らかに、どうすればそれを再びオンにできますか?また、後でグローバルな整合性チェックを強制するにはどうすればよいでしょうか?

PS: サーバーが生成したスクリプトを実行するために、この機能は必ずしも必要ではありません..!

4

2 に答える 2

1

私はそれができるとは思いませんが、よくわかりません。

できることは、コードを使用して制約を手動で無効にすることです。

ALTER TABLE table_name 
NOCHECK CONSTRAINT constraint_name

同じ構文を使用して有効にします。NOCHECK を CHECK に変更するだけです。

DB全体に本当に必要な場合は、テーブルと制約をループしてこのコードを実行する何かを簡単に作成できます

于 2012-02-28T10:08:05.560 に答える
1

特定のデータベースの「スクリプトの生成」オプション (2005) は、データベース オブジェクトの作成に必要なコードのみを生成します。テーブルの内容を (たとえば MySQL のように) スクリプト化しないため、制約チェックを無効にするオプションは必要ありません。

データベースのコピーとそのデータを復元する場合は、データベースのバックアップを実行してから、データベースの復元を実行することをお勧めします。

フル データベース バックアップから特定のオブジェクトのみを復元できるサード パーティのバックアップ製品がいくつかあります。

于 2012-02-28T10:34:56.837 に答える