データベースの差分バックアップの作成 (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 の使用

データベースの差分バックアップを作成するには

  1. オブジェクト エクスプローラーで適切な Microsoft SQL Server データベース エンジンのインスタンスに接続した後、サーバー名をクリックしてサーバー ツリーを展開します。

  2. [データベース] を展開し、目的のデータベースに応じて、任意のユーザー データベースを選択するか、または [システム データベース] を展開して任意のシステム データベースを選択します。

  3. データベースを右クリックして [タスク] をポイントし、[バックアップ] をクリックします。 [データベースのバックアップ] ダイアログ ボックスが表示されます。

  4. [データベース] ボックスに、適切なデータベース名が表示されていることを確認します。 必要に応じて、このボックスの一覧から別のデータベースを選択することもできます。

    差分バックアップは、すべての復旧モデル (完全復旧モデル、一括ログ復旧モデル、または単純復旧モデル) に対して実行できます。

  5. [バックアップの種類] ボックスの一覧の [差分] を選択します。

    重要な注意事項重要

    [差分] を選択する場合は、[バックアップのみコピーする] チェック ボックスがオフになっていることを確認します。

  6. [バックアップ コンポーネント] で、[データベース] をクリックします。

  7. [名前] ボックスに表示された既定のバックアップ セット名をそのまま使用するか、または別のバックアップ セット名を入力します。

  8. 必要に応じて、[説明] ボックスに、バックアップ セットの説明を入力します。

  9. バックアップ セットの有効期限を指定します。

    • バックアップ セットが指定の日数後に期限切れになるようにするには、[期間指定] (既定のオプション) をクリックし、セットを作成してからセットが期限切れになるまでの日数を入力します。 設定できる値は 0 ~ 99,999 日です。値に 0 日を指定した場合は、バックアップの有効期限は無期限となります。

      既定値は、[サーバーのプロパティ] ダイアログ ボックス ([データベースの設定] ページ) の [バックアップ メディアの既定の保有期間 (日)] オプションで設定されています。 このオプションを表示するには、オブジェクト エクスプローラーでサーバー名を右クリックし、[プロパティ] をクリックします。次に、[データベースの設定] ページをクリックします。

    • バックアップ セットが特定の日付に期限切れになるようにするには、[日時指定] をクリックし、セットが期限切れになる日付を入力します。

  10. [ディスク] または [テープ] をクリックして、バックアップ先を選択します。 [追加] をクリックすると、1 つのメディア セットを含んでいる、最高で 64 個のディスク ドライブまたはテープ ドライブのパスを選択できます。 選択したパスは、[バックアップ先] ボックスの一覧に表示されます。

    バックアップ先を削除するには、バックアップ先を選択して [削除] をクリックします。 バックアップ先の内容を表示するには、バックアップ先を選択して [内容] をクリックします。

  11. 詳細設定オプションを表示または選択するには、[ページの選択] ペインの [オプション] をクリックします。

  12. 次のいずれかをクリックして、[メディアに上書きします] オプションを選択します。

    • [既存のメディア セットにバックアップする]

      このオプションでは、[既存のバックアップ セットに追加する] または [既存のすべてのバックアップ セットを上書きする] のいずれかをクリックします。 必要に応じて、[メディア セット名とバックアップ セットの有効期限を確認する] チェック ボックスをオンにします。また、必要に応じて、[メディア セット名] ボックスに名前を入力します。 名前を指定しなかった場合、空の名前でメディア セットが作成されます。 メディア セット名を指定した場合は、メディア (テープまたはディスク) を調べて、実際の名前とここで入力した名前が一致するかどうかが確認されます。

      メディア名を指定せずに、このチェック ボックスをオンにしてこのメディアを確認するよう指定した場合は、実際のメディア名も空でないとエラーになります。

    • [新しいメディア セットにバックアップし、すべての既存のバックアップ セットを消去する]

      このオプションでは、[新しいメディア セット名] ボックスに名前を入力し、必要に応じて [新しいメディア セットの説明] ボックスにメディア セットの説明を入力します。

  13. [信頼性] セクションで、必要に応じて次の項目をオンにします。

  14. [全般] ページの [バックアップ先] セクションで、テープ ドライブにバックアップするように指定した場合は、[バックアップ後にテープをアンロードする] チェック ボックスがアクティブになります。 このオプションをオンにすると、[アンロードの前にテープを巻き戻す] オプションがアクティブになります。

    注意

    [全般] ページの [バックアップの種類] で、トランザクション ログをバックアップするように指定しなかった場合、[トランザクション ログ] セクションの各オプションは無効になっています。

  15. 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)

データベースの差分バックアップの復元 (SQL Server)

トランザクション ログ バックアップの復元 (SQL Server)

メンテナンス プラン

ファイルの完全バックアップ (SQL Server)