如何:建立完整資料庫備份 (Transact-SQL)
本主題說明如何使用 BACKUP DATABASE 陳述式來建立完整資料庫備份。
建立完整資料庫備份
執行 BACKUP DATABASE 陳述式以建立完整資料庫備份,請指定:
欲備份的資料庫名稱。
寫入完整資料庫備份的備份裝置。
完整資料庫備份的基本 Transact-SQL 語法如下:
BACKUP DATABASE database
TO backup_device [ ,...n ]
[ WITH with_options [ ,...o ] ] ;
選項
描述
database
為要備份的資料庫。
backup_device [ ,...n ]
指定一份清單,列出備份作業可使用的 1 到 64 個備份裝置。您可以指定實體備份裝置,或者指定對應的邏輯備份裝置 (若已經定義)。若要指定實體備份裝置,請使用 DISK 或 TAPE 選項:
{ DISK | TAPE } =physical_backup_device_name
如需詳細資訊,請參閱<備份裝置>。
WITH with_options [ ,...o ]
或者,也可以指定一個或多個其他選項,o。如需有關選項基本概念的詳細資訊,請參閱<步驟 2>。
選擇性地指定一或多個 WITH 選項。這裡將描述一些基本的 WITH 選項。如需有關所有 WITH 選項的詳細資訊,請參閱<BACKUP (Transact-SQL)>。
基本備份組 WITH 選項:
{ COMPRESSION | NO_COMPRESSION }
只有在 SQL Server 2008 Enterprise 及更新的版本中,才會指定是否要在此備份上執行備份壓縮,以覆寫伺服器層級的預設值。[!附註]
伺服器層級的預設值是使用 backup compression default 選項所設定。
DESCRIPTION = { 'text' | **@**text_variable }
指定描述備份組的自由形式文字。這個字串最多可有 255 個字元。NAME = { backup_set_name | **@**backup_set_name_var }
指定備份組的名稱。名稱最多可有 128 個字元。如果未指定 NAME,它就是空白。
基本備份組 WITH 選項:
根據預設,BACKUP 會將備份附加到現有的媒體集,以保留現有的備份組。若要明確指定這項,請使用 NOINIT 選項。如需詳細資訊,請參閱<附加至現有備份組>。
另外,若要格式化備份媒體,請使用 FORMAT 選項:
FORMAT [ , MEDIANAME**=** { media_name | **@**media_name_variable } ] [ , MEDIADESCRIPTION = { text | **@**text_variable } ]
當您第一次使用媒體或是想要覆寫所有現有的資料時,請使用 FORMAT 子句。選擇性地為新的媒體指派媒體名稱和描述。重要事項 當您使用 BACKUP 陳述式的 FORMAT 子句時要非常小心,因為它會破壞備份媒體先前所儲存的任何備份。
範例
A. 備份到磁碟裝置
下列範例使用 FORMAT 建立新的媒體集,以將整個 AdventureWorks2008R2 資料庫備份至磁碟。
USE AdventureWorks2008R2;
GO
BACKUP DATABASE AdventureWorks2008R2
TO DISK = 'Z:\SQLServerBackups\AdventureWorks2008R2.Bak'
WITH FORMAT,
MEDIANAME = 'Z_SQLServerBackups',
NAME = 'Full Backup of AdventureWorks2008R2';
GO
B. 備份到磁帶裝置
下列範例會將完整的 AdventureWorks2008R2 資料庫備份到磁帶上,並將備份附加到先前的備份中。
USE AdventureWorks2008R2;
GO
BACKUP DATABASE AdventureWorks2008R2
TO TAPE = '\\.\Tape0'
WITH NOINIT,
NAME = 'Full Backup of AdventureWorks2008R2';
GO
C. 備份至邏輯磁帶裝置
下列範例會為磁帶機建立邏輯備份裝置。這個範例會將完整的 AdventureWorks2008R2 資料庫備份至該裝置。
-- Create a logical backup device,
-- AdventureWorks2008R2_Bak_Tape, for tape device \\.\tape0.
USE master;
GO
EXEC sp_addumpdevice 'tape', 'AdventureWorks2008R2_Bak_Tape', '\\.\tape0';
USE AdventureWorks2008R2;
GO
BACKUP DATABASE AdventureWorks2008R2
TO AdventureWorks2008R2_Bak_Tape
WITH FORMAT,
MEDIANAME = 'AdventureWorks2008R2_Bak_Tape',
MEDIADESCRIPTION = '\\.\tape0',
NAME = 'Full Backup of AdventureWorks2008R2';
GO