事务日志备份失败错误:Backup detected log corruption in database

 


【1】错误信息

Backup detected log corruption in database FakeDBName. Context is FirstSector. LogFile: 2 ‘F:\SQLLOGS\XYZ\FakeDBName_Log.ldf’ 
VLF SeqNo: x502e VLFBase: x2ce40000 LogBlockOffset: x2d0a9000 SectorStatus: 2 LogBlock.StartLsn.SeqNo: x4ee3 LogBlock.StartLsn.Blk: x1348 Size: x200 PrevSize: x400 2009-03-06 10:00:02.61 Backup Error: 3041, Severity: 16, State: 1. 2009-03-06 10:00:02.61 Backup BACKUP failed to complete the command BACKUP LOG FakeDBName Check the backup application log for detailed messages. 2009-03-06 10:00:03.61 Backup Error: 3041, Severity: 16, State: 1.

【2】原因分析

1. 日志备份时,需要备份自上一次日志备份以来的整个日志链。日志链中的任何log corruption都会报错,并导致日志备份失败。

2. 为何完整备份没有报错呢?因为完整备份只需要少量的事务日志。

【3】解决思路

SQL Server 没有重建事务日志链的工具和直接方法。建议重建事务日志链:

1. 停止该数据库所有的事务;

2. 执行完整备份;

3. 将数据库的恢复模式改为“简单”,此步骤将删除原来的事务日志链。如有大量缓冲区的数据未回写硬盘,请执行 checkpoint。如有必要,可收缩事务日志文件。

4. 再将数据库的恢复模式改回“完整”;

5. 执行完整备份,此步骤将重建事务日志链;

6. 可继续执行事务日志备份。

 

转自:https://blog.51cto.com/jimshu/1970418

posted @   郭大侠1  阅读(1078)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
历史上的今天:
2019-03-18 (3.12)mysql基础深入——mysql日志文件/其他文件(socket/pid/表结构/Innodb)
2019-03-18 (3.11)mysql基础深入——mysql文件分类与配置文件管理
2019-03-18 (3.9)mysql基础深入——mysqld 配置文件与参数加载过程源码分析【待写】
2019-03-18 (3.10)mysql基础深入——mysqld 服务器与客户端连接过程 源码分析【待写】
2019-03-18 (3.7)mysql基础深入——mysqld 启动与初始化源码解析【待写】
2019-03-18 (3.8)mysql基础深入——mysql 关机过程详情【待写】
2019-03-18 (3.6)mysql基础深入——mysqld_safe源码简介【待写】
点击右上角即可分享
微信分享提示