如何:建立完整資料庫備份 (Transact-SQL)

本主題說明如何使用 BACKUP DATABASE 陳述式來建立完整資料庫備份。

建立完整資料庫備份

  1. 執行 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>。

  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