データベースの差分バックアップの作成 (SQL Server)
このトピックでは、SQL Server 2012 で SQL Server Management Studio または Transact-SQL を使用して、データベースの差分バックアップを作成する方法について説明します。
このトピックの内容
作業を開始する準備:
制限事項と制約事項
前提条件
推奨事項
セキュリティ
データベースの差分バックアップを作成する方法:
SQL Server Management Studio
Transact-SQL
作業を開始する準備
制限事項と制約事項
- BACKUP ステートメントは、明示的または暗黙的なトランザクションでは使用できません。
前提条件
- データベースの差分バックアップを作成するには、データベースの以前の完全バックアップが存在している必要があります。 選択したデータベースをバックアップしたことがない場合は、差分バックアップを作成する前にデータベースの完全バックアップを実行してください。 詳細については、「データベースの完全バックアップの作成 (SQL Server)」を参照してください。
推奨事項
- 差分バックアップのサイズが大きくなると、データベースを復元するときに、差分バックアップの復元に要する時間がかなり長くなる場合があります。 このため、定期的に新しい完全バックアップを実行することにより、データの新しい差分ベースを作成することをお勧めします。 たとえば、データベース全体のバックアップ (つまり、データベースの完全バックアップ) を週に 1 回実行し、次の週の完全バックアップまでの間、一連のデータベースの差分バックアップを定期的に実行します。
セキュリティ
権限
BACKUP DATABASE 権限と BACKUP LOG 権限は、既定では、sysadmin 固定サーバー ロール、db_owner 固定データベース ロール、および db_backupoperator 固定データベース ロールのメンバーに与えられています。
バックアップ デバイスの物理ファイルに対する所有と許可の問題によって、バックアップ操作が妨げられることがあります。 SQL Server では、デバイスに対して読み書きを実行できる必要があります。SQL Server サービスが実行されているアカウントには書き込み権限が必要です。 ただし、システム テーブルにバックアップ デバイスのエントリを追加する sp_addumpdevice では、ファイル アクセスの権限は確認されません。 バックアップ デバイスの物理ファイルに関するこのような問題は、バックアップや復元が試行され、物理リソースがアクセスされるまで、表面化しない可能性があります。
[Top]
SQL Server Management Studio の使用
データベースの差分バックアップを作成するには
オブジェクト エクスプローラーで適切な Microsoft SQL Server データベース エンジンのインスタンスに接続した後、サーバー名をクリックしてサーバー ツリーを展開します。
[データベース] を展開し、目的のデータベースに応じて、任意のユーザー データベースを選択するか、または [システム データベース] を展開して任意のシステム データベースを選択します。
データベースを右クリックして [タスク] をポイントし、[バックアップ] をクリックします。 [データベースのバックアップ] ダイアログ ボックスが表示されます。
[データベース] ボックスに、適切なデータベース名が表示されていることを確認します。 必要に応じて、このボックスの一覧から別のデータベースを選択することもできます。
差分バックアップは、すべての復旧モデル (完全復旧モデル、一括ログ復旧モデル、または単純復旧モデル) に対して実行できます。
[バックアップの種類] ボックスの一覧の [差分] を選択します。
重要 [差分] を選択する場合は、[バックアップのみコピーする] チェック ボックスがオフになっていることを確認します。
[バックアップ コンポーネント] で、[データベース] をクリックします。
[名前] ボックスに表示された既定のバックアップ セット名をそのまま使用するか、または別のバックアップ セット名を入力します。
必要に応じて、[説明] ボックスに、バックアップ セットの説明を入力します。
バックアップ セットの有効期限を指定します。
バックアップ セットが指定の日数後に期限切れになるようにするには、[期間指定] (既定のオプション) をクリックし、セットを作成してからセットが期限切れになるまでの日数を入力します。 設定できる値は 0 ~ 99,999 日です。値に 0 日を指定した場合は、バックアップの有効期限は無期限となります。
既定値は、[サーバーのプロパティ] ダイアログ ボックス ([データベースの設定] ページ) の [バックアップ メディアの既定の保有期間 (日)] オプションで設定されています。 このオプションを表示するには、オブジェクト エクスプローラーでサーバー名を右クリックし、[プロパティ] をクリックします。次に、[データベースの設定] ページをクリックします。
バックアップ セットが特定の日付に期限切れになるようにするには、[日時指定] をクリックし、セットが期限切れになる日付を入力します。
[ディスク] または [テープ] をクリックして、バックアップ先を選択します。 [追加] をクリックすると、1 つのメディア セットを含んでいる、最高で 64 個のディスク ドライブまたはテープ ドライブのパスを選択できます。 選択したパスは、[バックアップ先] ボックスの一覧に表示されます。
バックアップ先を削除するには、バックアップ先を選択して [削除] をクリックします。 バックアップ先の内容を表示するには、バックアップ先を選択して [内容] をクリックします。
詳細設定オプションを表示または選択するには、[ページの選択] ペインの [オプション] をクリックします。
次のいずれかをクリックして、[メディアに上書きします] オプションを選択します。
[既存のメディア セットにバックアップする]
このオプションでは、[既存のバックアップ セットに追加する] または [既存のすべてのバックアップ セットを上書きする] のいずれかをクリックします。 必要に応じて、[メディア セット名とバックアップ セットの有効期限を確認する] チェック ボックスをオンにします。また、必要に応じて、[メディア セット名] ボックスに名前を入力します。 名前を指定しなかった場合、空の名前でメディア セットが作成されます。 メディア セット名を指定した場合は、メディア (テープまたはディスク) を調べて、実際の名前とここで入力した名前が一致するかどうかが確認されます。
メディア名を指定せずに、このチェック ボックスをオンにしてこのメディアを確認するよう指定した場合は、実際のメディア名も空でないとエラーになります。
[新しいメディア セットにバックアップし、すべての既存のバックアップ セットを消去する]
このオプションでは、[新しいメディア セット名] ボックスに名前を入力し、必要に応じて [新しいメディア セットの説明] ボックスにメディア セットの説明を入力します。
[信頼性] セクションで、必要に応じて次の項目をオンにします。
[完了時にバックアップを検証する]。
[メディアに書き込む前にチェックサムを行う]、および、必要に応じて、[チェックサム エラーのまま続行する]。 チェックサムの詳細については、「バックアップ中および復元中に発生する可能性があるメディア エラー (SQL Server)」を参照してください。
[全般] ページの [バックアップ先] セクションで、テープ ドライブにバックアップするように指定した場合は、[バックアップ後にテープをアンロードする] チェック ボックスがアクティブになります。 このオプションをオンにすると、[アンロードの前にテープを巻き戻す] オプションがアクティブになります。
注 [全般] ページの [バックアップの種類] で、トランザクション ログをバックアップするように指定しなかった場合、[トランザクション ログ] セクションの各オプションは無効になっています。
SQL Server 2008 Enterprise 以降では、バックアップの圧縮がサポートされています。 既定では、バックアップが圧縮されるかどうかは、backup-compression default サーバー構成オプションの値によって決まります。 ただし、現在のサーバー レベルの既定の設定にかかわらず、[バックアップを圧縮する] をオンにしてバックアップを圧縮することも、[バックアップを圧縮しない] をオンにして圧縮しないようにすることもできます。
現在の backup compression default 値を表示するには
注 メンテナンス プラン ウィザードを使用して、データベースの差分バックアップを作成することもできます。
[Top]
Transact-SQL の使用
データベースの差分バックアップを作成するには
次の項目を指定した BACKUP DATABASE ステートメントを実行し、データベースの差分バックアップを作成します。
バックアップするデータベースの名前。
データベースの完全バックアップを書き込むバックアップ デバイス。
DIFFERENTIAL 句。この句は、データベースの前回の完全バックアップの作成後に変更されたデータベースの部分だけをバックアップするときに指定します。
必須の構文は次のとおりです。
BACKUP DATABASE database_name TO <backup_device> WITH DIFFERENTIAL
例 (Transact-SQL)
この例では、MyAdvWorks データベースの完全バックアップおよび差分バックアップを作成します。
-- Create a full database backup first.
BACKUP DATABASE MyAdvWorks
TO MyAdvWorks_1
WITH INIT;
GO
-- Time elapses.
-- Create a differential database backup, appending the backup
-- to the backup device containing the full database backup.
BACKUP DATABASE MyAdvWorks
TO MyAdvWorks_1
WITH DIFFERENTIAL;
GO
[Top]
関連項目
概念
データベースの完全バックアップの作成 (SQL Server)
ファイルおよびファイル グループのバックアップ (SQL Server)
データベースの差分バックアップの復元 (SQL Server)