您好,登錄后才能下訂單哦!
故障描述:
備份事務日志時遇到以下錯誤
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/
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。