您好,登錄后才能下訂單哦!
故障描述:
備份事務(wù)日志時(shí)遇到以下錯(cuò)誤
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. |
執(zhí)行完整備份的時(shí)候,沒(méi)有報(bào)錯(cuò)。
原因分析:
1. 日志備份時(shí),需要備份自上一次日志備份以來(lái)的整個(gè)日志鏈。日志鏈中的任何log corruption都會(huì)報(bào)錯(cuò),并導(dǎo)致日志備份失敗。
2. 為何完整備份沒(méi)有報(bào)錯(cuò)呢?因?yàn)橥暾麄浞葜恍枰倭康氖聞?wù)日志。參見(jiàn) http://www.mssqlmct.cn/dba/?post=203
對(duì)策:
SQL Server 沒(méi)有重建事務(wù)日志鏈的工具和直接方法。建議重建事務(wù)日志鏈:
1. 停止該數(shù)據(jù)庫(kù)所有的事務(wù);
2. 執(zhí)行完整備份;
3. 將數(shù)據(jù)庫(kù)的恢復(fù)模式改為“簡(jiǎn)單”,此步驟將刪除原來(lái)的事務(wù)日志鏈。如有大量緩沖區(qū)的數(shù)據(jù)未回寫(xiě)硬盤,請(qǐng)執(zhí)行 checkpoint。如有必要,可收縮事務(wù)日志文件。
4. 再將數(shù)據(jù)庫(kù)的恢復(fù)模式改回“完整”;
5. 執(zhí)行完整備份,此步驟將重建事務(wù)日志鏈;
6. 可繼續(xù)執(zhí)行事務(wù)日志備份。
參考文獻(xiàn):
https://www.sqlskills.com/blogs/paul/how-can-a-log-backup-fail-but-a-full-backup-succeed/
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。