完整資料庫備份
完整資料庫備份會備份整個資料庫。這包括交易記錄的部分,讓完整資料庫備份得以復原。完整資料庫備份代表備份完成時的資料庫。
[!附註]
如需各種備份類型的概觀,請參閱<簡單復原模式下的備份>或<在完整復原模式下備份>。
資料庫備份非常容易使用。完整資料庫備份包含資料庫中的所有資料。對於能夠快速備份的小型資料庫,最佳作法就是只使用完整資料庫備份。但是當資料庫變得更大時,完整備份就需要更多的時間才能完成,同時也需要更多的儲存空間。因此,對於大型資料庫,您可能會想透過差異備份來補充完整資料庫備份。如需詳細資訊,請參閱<差異資料庫備份>。
[!附註]
資料庫備份上的 TRUSTWORTHY 是設為 OFF。如需有關如何將 TRUSTWORTHY 設為 ON 的詳細資訊,請參閱<ALTER DATABASE (Transact-SQL)>。
在簡單復原模式下使用資料庫備份
在簡單復原模式下,每次備份之後,如果會發生損毀,資料庫都將承受可能遺失工作的風險。工作遺失風險隨著每一次更新而增加,直到下次完整備份為止;此時工作遺失風險便會歸零,但是又會重新開始另一循環的工作遺失風險。
在簡單復原模式之下,備份之間損失工作的風險會隨時間而增加。下圖顯示只使用完整資料庫備份之備份策略的工作遺失風險。
範例
下列範例顯示如何使用 WITH FORMAT 來覆寫任何現有備份並建立新的媒體集,以建立完整資料庫備份。
-- Back up the AdventureWorks2008R2 database to new media set.
BACKUP DATABASE AdventureWorks2008R2
TO DISK = 'Z:\SQLServerBackups\AdventureWorks2008R2SimpleRM.bak'
WITH FORMAT;
GO
在完整復原模式下使用資料庫備份
對使用完整和大量記錄復原的資料庫而言,交易記錄備份是必要的。下圖顯示完整復原模式下可行的最不複雜的備份策略。
[!附註]
如果您有兩個以上在邏輯上必須一致的完整復原模式資料庫,您可能需要實作特殊的程序,以確保這些資料庫能夠復原。如需詳細資訊,請參閱<使用標示的交易 (完整復原模式)>。
如需有關如何建立記錄備份的詳細資訊,請參閱<使用交易記錄備份>。
範例
下列範例顯示如何使用 WITH FORMAT 來覆寫任何現有備份並建立新的媒體集,以建立完整資料庫備份。然後,此範例會接著備份交易記錄。在實際的情況下,您必須執行一連串的定期記錄備份。就此範例而言,AdventureWorks2008R2 範例資料庫會設定為使用完整復原模式。
USE master;
ALTER DATABASE AdventureWorks2008R2 SET RECOVERY FULL;
GO
-- Back up the AdventureWorks2008R2 database to new media set (backup set 1).
BACKUP DATABASE AdventureWorks2008R2
TO DISK = 'Z:\SQLServerBackups\AdventureWorks2008R2FullRM.bak'
WITH FORMAT;
GO
--Create a routine log backup (backup set 2).
BACKUP LOG AdventureWorks2008R2 TO DISK = 'Z:\SQLServerBackups\AdventureWorks2008R2FullRM.bak';
GO
建立完整資料庫備份
完整資料庫備份是在單一作業中建立,通常排程為按照設定的時間間隔來進行。
用於建立完整資料庫備份的必要 BACKUP 語法為:
BACKUP DATABASE <database_name> TO <backup_device>
建立完整資料庫備份
排程備份作業
使用完整資料庫備份來還原資料庫
您可以將資料庫從完整資料庫備份還原到任何位置,在一個步驟中重新建立整個資料庫。在備份中包含足夠的交易記錄,以讓您將資料庫復原至在備份完成時的時間點。在資料庫復原之後,會回復未認可的交易。還原的資料庫會符合資料庫備份完成時的原本狀態,再扣除掉任何未認可的交易。
還原作業會在指定的目的地建立資料庫。如果資料庫已經存在於指定的位置,還原作業將覆寫現有的資料庫。若要避免覆寫現有的資料庫,請為還原的資料庫指定不同的名稱。
如需詳細資訊,請參閱<執行完整資料庫還原 (簡單復原模式)>或<執行完整的資料庫還原 (完整復原模式)>。