我有一个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个一致性错误,我想知道是否有办法解决这个问题,或者想要获得有关此错误的更详细信息。
由于
答案 0 :(得分:0)
要运行数据库修复,您必须先将数据库置于单用户模式。您可以执行3种类型的维修。希望你只需要通过下面的#1或#2。好消息 - 基于您的特定错误消息,您似乎不会面临数据丢失,因为它只是推荐REPAIR_REBUILD。
DBCC CHECKDB REPAIR_FAST
- 执行快速修复而不会丢失数据DBCC CHECKDB REPAIR_REBUILD
- REPAIR_FAST中的所有内容以及重建索引等更耗时的修复DBCC CHECKDB REPAIR_ALLOW_DATA_LOSS
- REPAIR_REBUILD中的所有内容,但可能导致数据丢失的其他结构修复。 请参阅:http://technet.microsoft.com/en-us/library/aa258278%28v=sql.80%29.aspx
答案 1 :(得分:-2)
如果您有有效的备份,那么从备份恢复是解决错误的最佳解决方案。
正如建议的那样,REPAIR_REBUILD是修复错误的最低修复级别,可能有效,但无法保证修复损坏。如果发生这种情况,那么从有效备份中恢复将是不错的选择。
在从有效备份还原之前,您必须在要尝试还原的备份上运行restore verifyonly。这是检查备份是否一致的最佳方法。