SQL Server 2008應用事務日誌備份

iSQlServer發表於2009-01-19

本主題介紹在還原 SQL Server 資料庫過程中應用事務日誌備份。若要應用事務日誌備份,必須滿足下列要求:

必須先還原緊位於前面的完整資料庫備份或差異資料庫備份。

在完整資料庫備份或差異資料庫備份後建立的所有事務日誌必須按時間順序還原。如果此事務日誌鏈中的事務日誌備份丟失或損壞,則您只能還原丟失的事務日誌之前的事務日誌。

資料庫尚未恢復。直到應用完最後一個的事務日誌之後,才能恢復資料庫。如果要在還原其中一箇中間事務日誌備份之後恢復資料庫,則在日誌鏈結束之前,除非從完整資料庫備份開始重新啟動整個還原順序,否則,將無法還原該點之前的資料庫。

 恢復和事務日誌
當您完成還原操作並恢復資料庫後,恢復將回滾所有未完成的事務。此步驟稱為“撤消階段”。回滾對還原資料庫的完整性是必需的。回滾後,資料庫將進入聯機狀態,不能再將其他事務日誌備份應用到資料庫。

例如,一系列事務日誌備份包含一個執行時間長的事務。該事務的起點記錄在第一個事務日誌備份中,終點記錄在第二個事務日誌備份中。第一個事務日誌備份中沒有任何關於提交或回滾操作的記錄。如果在應用第一個事務日誌備份後執行恢復操作,則執行時間長的事務被視為未完成,並且將回滾事務的第一個事務日誌備份中記錄的資料修改。SQL Server 不允許在此點後應用第二個事務日誌備份。

注意:
某些情況下可以在日誌還原期間顯式新增檔案。有關詳細資訊,請參閱控制在前滾過程中是否建立新增的檔案。
 


 為還原順序準備足夠的日誌備份
您必須備份足夠的日誌記錄才能完成還原順序。必要的日誌備份(需要時包含結尾日誌備份)必須在還原順序開始之前可用。

 使用日誌備份來還原故障點
假設有下列事件順序。

時間  事件 
上午 8:00
 備份資料庫以建立完整資料庫備份。
 
中午
 備份事務日誌。
 
下午 4:00
 備份事務日誌。
 
下午 6:00
 備份資料庫以建立完整資料庫備份。
 
晚上 8:00
 備份事務日誌。
 
晚上 9:45
 出現故障。
 
注意:
有關此示例備份順序的說明,請參閱建立事務日誌備份。
 


若要將資料庫還原到晚上 9:45(故障點)時的狀態,可以使用以下兩種備選過程:

備選過程 1:使用最新的完整資料庫備份還原資料庫

失敗時建立當前活動事務日誌的結尾日誌備份。

不要還原上午 8:00 的完整資料庫備份。相反,應還原下午 6:00 的這一時間更近的完整資料庫備份,然後應用晚上 8:00 的日誌備份和結尾日誌備份。
對晚上 9:45 的事務結尾日誌備份再執行一次上述操作。

備選過程 2:使用較早的完整資料庫備份還原資料庫

注意:
如果出現問題,使您無法使用下午 6:00 的完整資料庫備份,則此備選過程將十分有用。此過程比從下午 6:00 的完整資料庫備份還原所需的時間長。
 


失敗時建立當前活動事務日誌的結尾日誌備份。

還原上午 8:00 的完整資料庫備份,然後按順序還原所有四個事務日誌備份。所有完成的事務都將前滾到晚上 9:45。
此備選過程指出了冗餘安全性,該安全性通過維護一系列完整資料庫備份中的事務日誌鏈備份來獲得。

 使用日誌備份還原到特定的時間點
某些情況下,您還可以使用事務日誌將資料庫還原到特定的時間點。有關詳細資訊,請參閱將資料庫還原到備份中的某個時間點。

 應用事務日誌備份
最佳方法是使用 WITH NORECOVERY 還原所有日誌備份:

RESTORE LOG database_name FROM WITH NORECOVERY

還原上一次日誌備份後,用單獨的操作恢復資料庫:

RESTORE DATABASE database_name WITH RECOVERY

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-541407/,如需轉載,請註明出處,否則將追究法律責任。

相關文章