备份事务日志时遇到logcorruption-创新互联

故障描述:

成都创新互联公司专注于网站建设|网站维护|优化|托管以及网络推广,积累了大量的网站设计与制作经验,为许多企业提供了网站定制设计服务,案例作品覆盖成都三轮搅拌车等行业。能根据企业所处的行业与销售的产品,结合品牌形象的塑造,量身设计品质网站。

备份事务日志时遇到以下错误

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.

执行完整备份的时候,没有报错。

原因分析:

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

2. 为何完整备份没有报错呢?因为完整备份只需要少量的事务日志。参见 http://www.mssqlmct.cn/dba/?post=203

对策:

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

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

2. 执行完整备份;

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

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

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

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

参考文献:

https://www.sqlskills.com/blogs/paul/how-can-a-log-backup-fail-but-a-full-backup-succeed/

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文名称:备份事务日志时遇到logcorruption-创新互联
网页地址:http://myzitong.com/article/dgephi.html