これは「自分のマシンのみ」の問題だと感じています。私はボックスに2つのSQL 2008 R2 Expressデータベースを持っています。それぞれのスキーマは同じスクリプトで作成されました。データは異なります。SQL Serverのデータ比較で「ON DELETE SET NULL」の外部キーの関係が維持されない
Visual Studio 2010のビルトインデータ比較ツールまたはRed GateのSQL Data Compare v7ツールを使用すると、次のような動作が発生します。
ON DELETE SET NULL
と外部キーは、- データは、外部キーが
ON DELETE SET NULL
オプションなしで再作成され - 挿入されてドロップされます。
いずれかのツールで生成されたSQLスクリプトを見ると、問題がはっきりとわかります。私が言うことができる限り、残りのFKは大丈夫ですが、その多くはON DELETE CASCADE
です。
私はSSMSにFKのスクリプトを生成するように頼むとON DELETE SET NULL
指定子を含んでいるので、それは私の想像ではありません。
2つの異なるツールがこのキーの正しいSQLを再生成できない可能性がありますか? SQL Serverの設定ミス、またはExpress Editionの制限はありますか?
そのような設定があるかどうかがわかります。この場合、私は手書きのスクリプトを書いていません。私が何をしているのかを明確にするために質問を微調整するつもりです。 – roufamatic