これは「自分のマシンのみ」の問題だと感じています。ボックスに 2 つの SQL 2008 R2 Express データベースがあります。それぞれのスキーマは、同じスクリプトで作成されました。データが異なります。
Visual Studio 2010 の組み込みデータ比較ツールまたは Red Gate の SQL データ比較 v7 ツールのいずれかを使用すると、次のような動作が見られます。
- の外部キー
ON DELETE SET NULL
が削除されました - データが挿入されます
- 外部キーは、
ON DELETE SET NULL
オプションなしで再作成されます。
いずれかのツールで生成された SQL スクリプトを見ると、問題が明確にわかります。私が知る限り、残りの FK は問題なく、その多くはON DELETE CASCADE
.
SSMSにFK自体のスクリプトを生成するように依頼すると、ON DELETE SET NULL
指定子が含まれているため、私の想像ではありません。
2 つの異なるツールが、このキーの正しい SQL を再生成できないのはなぜでしょうか? SQL Server の構成ミス、またはエクスプレス エディションの制限はありますか?