データベースの完全バックアップを作成する方法 (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 ]
必要に応じて、1 つ以上の追加オプション (o) を指定します。基本的な with オプションについては、手順 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