目前,我正在每晚将SAN快照还原到另一台服务器,并在该测试服务器上运行每周检查。checkdb将引发以下错误。
在数据库“db_with_error”中传递给日志扫描的日志扫描编号(105217:402:0)无效。此错误可能表示数据损坏或日志文件(.ldf)与数据文件(.mdf)不匹配。如果在复制过程中发生此错误,请重新创建发布。否则,如果问题在启动期间导致失败,请从备份还原。
我使用了以下方法来解决checkdb错误。
EXECUTE dbo.DatabaseIntegrityCheck
@Databases = 'db_with_error',
@CheckCommands = 'CHECKDB'
EXEC sp_resetstatus 'db_with_error';
ALTER DATABASE db_with_error SET EMERGENCY;
dbcc checkdb ('db_with_error')
ALTER DATABASE db_with_error SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
ALTER DATABASE db_with_error SET multi_user WITH ROLLBACK IMMEDIATE;
ALTER DATABASE db_with_error SET online;
EXECUTE dbo.DatabaseIntegrityCheck
@Databases = 'db_with_error',
@CheckCommands = 'CHECKDB'上面为什么要解决这个错误呢?
需要注意的是,测试服务器运行的是12.0.2495,prod服务器运行的是11.0.5548。此外,prod服务器也是可用性组的一部分,据我所知,可用性组处于良好状态。
发布于 2015-05-19 19:17:44
目前,我正在每晚将SAN快照还原到另一台服务器,并在该测试服务器上运行每周检查。
阅读这篇由Denny Cherry - 圣快照不是备份!撰写的文章。
我建议您使用本机Server备份(最好是压缩备份-减少磁盘占用),然后在测试服务器上还原它,然后在命令下面运行,查看是否有相同的错误。
DBCC CHECKDB('YourDatabaseName') WITH NO_INFOMSGS, ALL_ERRORMSGS
https://dba.stackexchange.com/questions/101940
复制相似问题