SQLSERVER2012备份日志报错:”读取失败: 23(数据错误(循环冗余检查)。)”

来源:这里教程网 时间:2026-03-02 11:28:12 作者:

SQLSERVER2012备份日志报错:”读取失败: 23(数据错误(循环冗余检查)。)” 问题: SQLSERVER2012数据库,8月6日的LOG自动备份出现问题,之前备份一直正常,报错如下: 失败:(-1073548784) 执行查询“BACKUP LOG [chenjchdb] TO  DISK = N'E:\\chen_...”失败, 错误如下:“在 "D:\\chen\\chenjchdb\\chenjchdb_log.ldf" 上读取失败: 23(数据错误(循环冗余检查)。)   原因: 自动备份和手动备份日志文件都失败,报错 读取失败: 23(数据错误(循环冗余检查) 怀疑日志文件损坏或硬盘故障,检查硬盘没有报警,不能确定磁盘是否有坏道; 解决方案: dbcc checkdb速度较慢,直接收缩日志文件; 1.非业务高峰期期间,对数据库进行全备; 2.将数据库恢复模式由完整模式改成简单模式; 3.收缩日志; 4.将数据库恢复模式由简单模式改成完整模式; 5.对数据库进行全备; 6.对数据库日志进行备份; 具体过程如下: ---1 22:10 数据库全备 use master  BACKUP DATABASE chenjchdb TO DISK='E:\chen\chenjchdb_20190806_22_30.bak'  WITH COMPRESSION GO ---2 收缩日志 ---SELECT [name] FROM sys.database_files WHERE type_desc='LOG'; --- chenjchdb_log USE master GO ALTER DATABASE chenjchdb SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE chenjchdb SET RECOVERY SIMPLE    GO USE chenjchdb  GO DBCC SHRINKFILE (N'chenjchdb_log' , 1, TRUNCATEONLY) GO USE master GO ALTER DATABASE chenjchdb SET RECOVERY FULL WITH NO_WAIT GO ALTER DATABASE chenjchdb SET RECOVERY FULL    GO ---3 数据库全备 use master  BACKUP DATABASE chenjchdb TO DISK='E:\chen\chenjchdb_20190806_23_00.bak'  WITH COMPRESSION GO ---4 备份日志 use master BACKUP LOG chenjchdb TO DISK='E:\chen\log\chenjchdb_20190806_23_30.trn'  WITH COMPRESSION GO

相关推荐