SQLServer資料事務日誌操作
日誌備份 (log backup)
包括以前日誌備份中未備份的所有日誌記錄的事務日誌備份。 (完整恢復模式)
使用SSMS資料庫管理工具備份事務日誌
1、連線資料庫,選擇資料庫-》右鍵點選-》選擇任務-》選擇備份。
2、在備份資料庫彈出框中-》備份型別選擇事務日誌備份-》刪除系統自動生成的檔名-》點選新增。
3、在選擇備份目標彈出框中選擇備份路徑。
4、在定位資料庫檔案彈出框中-》選擇備份檔案路徑-》輸入檔名(注意新增字尾名)-》點選確定。
5、彈出框都點選確定。
6、示例結果:
使用SSMS資料庫管理工具還原事務日誌
資料庫事務日誌還原分為兩步,第一步為還原資料庫,第二步為還原資料庫事務日誌
第一步還原資料庫
1、連線資料庫,選擇要還原的資料庫-》右鍵點選-》選擇任務-》選擇還原-》選擇資料庫。
2、在還原資料庫彈出框中-》選擇裝置-》選擇要還原的檔案的路徑。
3、在選擇備份裝置彈出框中-》點選新增。
4、在定位備份檔案彈出框中-》選擇檔案所在資料夾-》選擇要還原的檔案。
5、在還原資料庫彈出框中-》點選選項選擇恢復模式。
6、在還原資料庫彈出框中-》如果要還原的資料庫已存在,選擇覆蓋現有資料庫,如果不存在,不必選擇-》選擇資料庫恢復模式為RESTORE WITH NORECOVERY。
7、點選確定。
8、此時資料庫狀態為正在還原。
第二步還原事務日誌檔案
1、選擇正在還原資料庫-》右鍵點選-》選擇任務-》選擇還原-》選擇事務日誌。
2、在還原事務日誌彈出框中-》選擇備份介質-》選擇路徑。
3、在選擇備份裝置彈出框中-》點選新增。
4、在定位備份檔案彈出框中-》選擇檔案所在路徑-》選擇要還原的檔案-》點選確定。
5、在還原事務日誌彈出框-》選擇選項-》選擇要還原的恢復模式。
6、在還原事務日誌彈出框中-》選擇回滾未提交的事務-》點選確定。
7、還原結果。
8、資料庫狀態。
使用T-SQL指令碼備份資料庫事務日誌
備份語法:backup log 資料庫名 to disk=檔案完整路徑;
示例:backup log testss to disk='D:\SqlTest\backup\sw3.bak';
使用T-SQL指令碼還原資料庫事務日誌
如果要還原的資料庫不存在
還原語法:
第一步還原資料庫:restore database 資料庫名 from disk=檔案完整路徑 with norecovery;
第二步還原事務日誌:restore log 資料庫名 from disk=檔案完整路徑 with recovery;
示例:
第一步還原資料庫:restore database testss from disk='D:\SqlTest\backup\sw1.bak' with norecovery;
第二步還原日誌檔案:restore log testss from disk='D:\SqlTest\backup\sw11.bak' with recovery;
如果要還原的資料庫存在
還原語法:
第一步還原資料庫:restore database 資料庫名 from disk=檔案完整路徑 with norecovery,replace;
第二步還原事務日誌:restore log 資料庫名 from disk=檔案完整路徑 with recovery;
示例:
第一步還原資料庫:restore database testss from disk='D:\SqlTest\backup\sw1.bak' with norecovery,replace;
第二步還原日誌檔案:restore log testss from disk='D:\SqlTest\backup\sw11.bak' with recovery;
總結
優點:
1、日誌備份會節約更多的時間,恢復起來也更快可以及時恢復,資料丟失少。
2、在SQL Server中,事務日誌備份是增量備份,它捕獲的是自上一次事務日誌備份以來的變化,而差異備份則包含了自上一次完整備份以來所有變化的頁。
3、日誌備份可以恢復到相應的時間點。
缺點:恢復過程比較慢,需要恢復多個備份包括完整備份和日誌備份。