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

適用対象:SQL Server

SQL Server Management Studioまたは Transact-SQL を使用して、SQL Serverでデータベースの差分バックアップを作成します。

このトピックのセクション

開始する前に

制限事項と制約事項

  • BACKUP ステートメントは、明示的または暗黙的なトランザクションでは使用できません。

前提条件

  • データベースの差分バックアップを作成するには、データベースの以前の完全バックアップが必要です。 データベースをバックアップしたことがない場合は、差分バックアップを作成する前に、データベースの完全バックアップを実行してください。 詳細については、「 データベースの完全バックアップの作成 (SQL Server)」を参照してください。

推奨事項

  • 差分バックアップのサイズが大きくなると、差分バックアップを復元すると、データベースの復元に必要な時間が大幅に長くなります。 定期的に新しい完全バックアップを実行することにより、データの新しい差分ベースを作成することをお勧めします。 たとえば、データベース全体のバックアップ (つまり、データベースの完全バックアップ) を週に 1 回実行し、次の週の完全バックアップまでの間、一連のデータベースの差分バックアップを定期的に実行します。

セキュリティ

最初に権限を確認してください。

BACKUP DATABASE 権限と BACKUP LOG 権限は、既定では、 sysadmin 固定サーバー ロール、 db_owner 固定データベース ロール、および db_backupoperator 固定データベース ロールのメンバーに与えられています。

バックアップ デバイスの物理ファイルに対する所有権と権限に問題があると、バックアップ操作が妨げられます。 SQL Server では、デバイスに対して読み書きを実行できる必要があります。 SQL Server サービスが実行されているアカウントには書き込み権限が必要です。 ただし、システム テーブルにバックアップ デバイスのエントリを追加する sp_addumpdeviceでは、ファイル アクセスの権限は確認 されません 。 バックアップ デバイスの物理ファイルに対する権限の問題は、バックアップや復元を試行したときに物理リソースがアクセスされるまで、表面化しない可能性があります。

SQL Server Management Studio

データベースの差分バックアップの作成

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

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

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

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

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

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

    重要

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

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

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

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

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

    • バックアップ セットが指定の日数後に期限切れになるようにするには、 [期間指定] \(既定のオプション) をクリックし、セットを作成してからセットが期限切れになるまでの日数を入力します。 この値には、0 から 99999 日を指定できます。0 日は、バックアップ セットの有効期限が切れないことを意味します。

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

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

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

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

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

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

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

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

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

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

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

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

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

    注意

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

  15. SQL Server 2008 Enterprise 以降では、 バックアップの圧縮がサポートされています。 既定では、バックアップが圧縮されるかどうかは、 [バックアップ圧縮の既定] サーバー構成オプションの値によって決まります。 ただし、現在のサーバー レベルの既定の設定にかかわらず、 [バックアップを圧縮する] をオンにしてバックアップを圧縮することも、 [バックアップを圧縮しない] をオンにして圧縮しないようにすることもできます。

    現在の backup compression default 値を表示するには

    注意

    メンテナンス プラン ウィザードを使用して、データベースの差分バックアップを作成することもできます。

Transact-SQL

データベースの差分バックアップの作成

  1. 次の項目を指定した BACKUP DATABASE ステートメントを実行し、データベースの差分バックアップを作成します。

    • バックアップするデータベースの名前。

    • データベースの完全バックアップを書き込むバックアップ デバイス。

    • DIFFERENTIAL 句。この句は、データベースの前回の完全バックアップの作成後に変更されたデータベースの部分だけをバックアップするときに指定します。

    必須の構文は次のとおりです。

    BACKUP DATABASE database_nameを差分でbackup_device>する<

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

参照

差分バックアップ (SQL Server)
データベースの完全バックアップの作成 (SQL Server)
ファイルおよびファイル グループのバックアップ (SQL Server)
データベースの差分バックアップの復元 (SQL Server)
トランザクション ログ バックアップの復元 (SQL Server)
メンテナンス プラン
ファイルの完全バックアップ (SQL Server)