重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 835|回复: 0
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
楼主
发表于 2024-1-29 21:33:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
SQLSERVER2008备份失败,让处理一下,经检查,发现单独备份,也会失败:

use xx
go
backup log xx to disk='NUL:'


直接报:

日志                SQL Server (当前 - 2024/1/29 20:50:00)

消息
BACKUP failed to complete the command BACKUP LOG HDWDateServerDB. Check the backup application log for detailed messages.


日期                2024/1/29 20:50:02
日志                SQL Server (当前 - 2024/1/29 20:50:00)
消息
错误: 3041,严重性: 16,状态: 1。


日期                2024/1/29 20:50:02
日志                SQL Server (当前 - 2024/1/29 20:50:00)
消息
Backup detected log corruption in database xx. Context is FirstSector. LogFile: 2 'c:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA\xx_log.ldf' VLF SeqNo: x1893 VLFBase: x490000 LogBlockOffset: x4c5400 SectorStatus: 2 LogBlock.StartLsn.SeqNo: x310030 LogBlock.StartLsn.Blk: x340032 Size: x31 PrevSize: x34



原因:
1. 日志备份时,需要备份自上一次日志备份以来的整个日志链。日志链中的任何log corruption都会报错,并导致日志备份失败。
2. 为何完整备份没有报错呢?因为完整备份只需要少量的事务日志。

解决办法:
SQL Server 没有重建事务日志链的工具和直接方法。通过重建事务日志链解决:
1. 停止该数据库所有的事务;
2. 执行完整备份;
3. 将数据库的恢复模式改为“简单”,此步骤将删除原来的事务日志链。如有大量缓冲区的数据未回写硬盘,请执行 checkpoint。如有必要,可收缩事务日志文件。
4. 再将数据库的恢复模式改回“完整”;
5. 执行完整备份,此步骤将重建事务日志链;
6. 可继续执行事务日志备份。

通过以上处理后,再去使用备份工具进行数据库备份,不再报错。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-11-16 04:03 , Processed in 0.095719 second(s), 20 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表