4

多くのFK制約があるテーブルから数千のレコードを削除する必要がありました。すべてのテーブルの制約の適用を停止し、レコードを削除し、DBCCチェックで示されたいくつかの明らかな制約を修正してから、バック制約を有効にしました。その後、残念ながらDBCCチェックでいくつかのエラーが表示されますが、現時点では理由を調べる時間がありません。私の質問は、タイトルがばかげているかもしれませんが、制約エラーでしばらくデータベースを離れるとどうなりますか?このDBを使用するアプリは影響を受けますか?制約の修正を延期できますか?(私はSQL Server 2008を使用しています)ありがとう

4

1 に答える 1

3

整合性に欠ける (無効な情報が含まれる) データが得られます。これによりデータベースがクラッシュしたり、エラーが発生したりすることはありませんが、アプリケーションがこれにどのように反応するかは、完全にアプリケーションに依存します。いくつかのエラー ページが表示されるか、さらに悪いことに、無効なデータが伝播してさらに多くの無効なデータまたはアクションが生成されます (後で追跡して修正するのがさらに難しくなる可能性があります)。

これらの制約のポイントは、データベースがデータを検証 (または拒否) するようにすることです。これにより、アプリケーションは、データに発生していない特定の無効なパターンに依存できます。多くのアプリケーションは、これらの保証を使用せず、データの整合性を自分で処理するように構築されていますが、アプリケーションがそれらに依存していて、その下からそれらを引き出すとしたら、少し危険に思えます。

于 2013-01-06T23:46:50.263 に答える