我最近使用DBCC CHECKDB WITH REPAIR ALOW DATA LOSS
.
现在我可以从表值函数中选择记录来检索销售记录,但是对相同数据使用 GROUP BY 会导致“内部不一致”错误。
运行 DBCC CHECKDB 返回零不一致错误。
我已经运行了我所知道的一切来检测任何撕裂的页面,但没有找到。
如何找到撕裂的页面或强制重建?
最近,我被要求从生产环境刷新测试服务器上的几个数据库。一直想遵循最佳实践,我使用WITH CHECKSUM选项执行备份,最终得到以下错误:
Msg 3043, Level 16, State 1, Line 32
BACKUP 'DBName' detected an error on page (1:428321) in file 'F:\path\DBName.mdf'.
Msg 3013, Level 16, State 1, Line 32
BACKUP DATABASE is terminating abnormally.
Run Code Online (Sandbox Code Playgroud)
对错误感到惊讶,我运行DBCC CHECKDB以查看发生了什么,但不幸的是(或者幸运的是),它恢复正常。
到目前为止,我发现的所有信息都鼓励使用 DBCC CHECKDB 的发现作为下一步的指南,所以我不确定如何解决这个问题?
一些快速信息:
SQL Server 是 2008 R2。
我在msdb.dbo.suspect_pages表中发现了错误的确认。它包含事件类型 1 和 3。
我使用的 DBCC 命令是 DBCC CHECKDB (DBName) WITH NO_INFOMSGS, ALL_ERRORMSGS;
我不是正式的 DBA,但由于我有一些经验,所以我被允许执行备份和恢复。
我确实读过类似的帖子DBCC CheckDB 会错过哪些类型的损坏?. 然而,虽然我相信我明白为什么(那篇文章的重点),但我不知道如何解决它。
通过省略WITH CHECKSUM选项,我能够成功执行备份。
在此先感谢您的指导! …