データベースの完全バックアップを作成する方法 (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 ]

    必要に応じて、1 つ以上の追加オプション (o) を指定します。基本的な with オプションについては、手順 2. を参照してください。

  2. 必要に応じて、1 つ以上の 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

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

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

-- 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