数据库中的SQL Server数据库一致性错误 - 如何修复

时间:2015-01-10 02:46:38

标签: sql-server sql-server-2008

我有一个SQL Server数据库(Microsoft Dynamics AX),我只是运行DBCC CHECKDB来检查完整性。

几分钟后,我得到了以下结果:

CHECKDB found 0 allocation errors and 4 consistency errors in database 'AXPROD'.
repair_rebuild is the minimum repair level for the errors found by DBCC CHECKDB (AXPROD).
DBCC execution completed. If DBCC printed error messages, contact your system administrator.

由于我遇到4个一致性错误,我想知道是否有办法解决这个问题,或者想要获得有关此错误的更详细信息。

由于

2 个答案:

答案 0 :(得分:0)

要运行数据库修复,您必须先将数据库置于单用户模式。您可以执行3种类型的维修。希望你只需要通过下面的#1或#2。好消息 - 基于您的特定错误消息,您似乎不会面临数据丢失,因为它只是推荐REPAIR_REBUILD。

  1. DBCC CHECKDB REPAIR_FAST - 执行快速修复而不会丢失数据
  2. DBCC CHECKDB REPAIR_REBUILD - REPAIR_FAST中的所有内容以及重建索引等更耗时的修复
  3. DBCC CHECKDB REPAIR_ALLOW_DATA_LOSS - REPAIR_REBUILD中的所有内容,但可能导致数据丢失的其他结构修复。
  4. 请参阅:http://technet.microsoft.com/en-us/library/aa258278%28v=sql.80%29.aspx

答案 1 :(得分:-2)

如果您有有效的备份,那么从备份恢复是解决错误的最佳解决方案。

正如建议的那样,REPAIR_REBUILD是修复错误的最低修复级别,可能有效,但无法保证修复损坏。如果发生这种情况,那么从有效备份中恢复将是不错的选择。

在从有效备份还原之前,您必须在要尝试还原的备份上运行restore verifyonly。这是检查备份是否一致的最佳方法。