1. 程式人生 > >SQLServer資料事務日誌操作

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、日誌備份可以恢復到相應的時間點。

缺點:恢復過程比較慢,需要恢復多個備份包括完整備份和日誌備份。