如何:資料庫損毀時備份交易記錄 (Transact-SQL)

本主題說明如何在資料庫損毀時備份交易記錄。

若要替目前作用中的交易記錄建立備份

  1. 執行 BACKUP LOG 陳述式,備份目前使用中的交易記錄,方法為指定:

    • 欲備份之交易記錄所屬的資料庫名稱。

    • 將寫入交易記錄備份的備份裝置。

    • NO_TRUNCATE 子句。

      這個子句允許交易記錄作用中的部份也進行備份,即使資料庫無法存取,只要交易記錄可以存取而且沒有損毀即可。

  2. (選擇性) 指定:

    • 覆寫備份媒體的 INIT 子句,並將此備份寫入備份媒體中作為第一個檔案。如果沒有現存的媒體標頭,則會自動寫入一個。

    • 無論在備份媒體上是否有尚未到期的備份,或者是媒體名稱與備份媒體上的名稱不符,都要指定覆寫備份媒體的 SKIP 和 INIT 子句。

    • FORMAT 子句,當您第一次使用媒體時,這個子句會初始化備份媒體並重新寫入任何現有的媒體標頭。

      若指定了 FORMAT 子句,則不需要 INIT 子句。

      重要事項重要事項

      當您使用 BACKUP 陳述式的 FORMAT 或 INIT 子句時要非常小心,因為它會破壞備份媒體先前所儲存的任何備份。

範例

重要事項重要事項

MyAdvWorks_FullRM 資料庫是 AdventureWorks2008R2 的副本,它會使用簡單復原模式。若要允許記錄備份,在執行完整資料庫備份之前,請使用 ALTER DATABASE MyAdvWorks_FullRM SET RECOVERY FULL 將該資料庫設定為使用完整復原模式。

這個範例為 MyAdvWorks_FullRM 資料庫建立作用中交易記錄的備份,即使 MyAdvWorks_FullRM 已損毀且無法存取。然而,交易記錄並未損毀且可以存取:

BACKUP LOG MyAdvWorks_FullRM
   TO MyAdvWorks_FullRM_log1
   WITH NO_TRUNCATE;
GO