4

我不得不从具有许多 FK 约束的表中删除数千条记录。我停止了对所有表的约束强制执行,并删除了记录并修复了 DBCC 检查显示给我的一些明显约束,然后我启用了反向约束。不幸的是,在那之后 DBCC 检查仍然显示一些错误,但此时我没有时间搜索原因。然后我的问题就像标题一样可能很愚蠢,但是如果我离开数据库一段时间并出现约束错误会发生什么?使用该数据库的应用会受到影响吗?我可以推迟修复约束吗?(我使用 SQL Server 2008)谢谢

4

1 回答 1

3

您将拥有缺乏完整性的数据(包含一些无效信息)。这不会使数据库崩溃或产生错误,但应用程序对此的反应完全取决于应用程序。您可能会看到一些错误页面,或者更糟糕的是,无效数据会传播以产生更多无效数据或操作(之后可能更难追踪和修复)。

这些约束的目的是使数据库验证(或拒绝)数据,以便应用程序可以依赖数据中未出现的某些无效模式。许多应用程序被构建为不使用这些保证并自己处理数据完整性,但是如果您的应用程序确实依赖于它们,然后您将它们从它下面拉出来,这听起来有点危险。

于 2013-01-06T23:46:50.263 回答