単一のテーブルからデータをスクリプト化したい SQL Server DB があります。これを試してみると、CyclicalForeignKeyException が発生します。おそらくどこかに FK サイクルがあるためです。これは問題ありません。これは SQL Server の厄介な制限のようです。私の場合、SQL Server 2008 R2 を使用しています。
これについて私が読んだ3つの提案は次のとおりです。
- サイクルを取り除きます。(この DB を変更したくないため、オプションではありません。)
- キーを一時的に取り外し、後でリセットします。(同じ理由でオプションではありません。)
- DB 内のすべてのオブジェクトをスクリプト化します。(これは可能ですが、この DB は大きいため、理想的なソリューションではありません。)
私が読んだ別の同様の提案は、DB をバックアップして一時コピーを復元し、FK を削除してからデータを取得することでした。しかし、DB が大きいため、これも理想的ではありません。
誰か別のアイデアがありますか?