データベースの差分バックアップの作成 (SQL Server)Create a Differential Database Backup (SQL Server)

適用対象: ○SQL Server XAzure SQL Database XAzure SQL Data Warehouse XParallel Data WarehouseAPPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

SQL Server 2017SQL Server 2017SQL Server Management StudioSQL Server Management Studio または Transact-SQLTransact-SQLを使用してデータベースの差分バックアップを作成します。Create a differential database backup in SQL Server 2017SQL Server 2017 using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL.

このトピックのセクションSections in this topic

アンインストールの準備Before you begin

Limitations and restrictionsLimitations and restrictions

  • BACKUP ステートメントは、明示的または暗黙的なトランザクションでは使用できません。The BACKUP statement is not allowed in an explicit or implicit transaction.

前提条件Prerequisites

  • データベースの差分バックアップを作成するには、データベースの以前の完全バックアップが必要です。Creating a differential database backup requires a previous full database backup. データベースをバックアップしたことがない場合は、差分バックアップを作成する前に、データベースの完全バックアップを実行してください。If your database has never been backed up, run a full database backup before creating any differential backups. 詳細については、データベースの完全バックアップの作成 データベースの完全バックアップの作成 (SQL Server)を使用してデータベースの差分バックアップを作成します。For more information, see Create a Full Database Backup (SQL Server).

推奨事項Recommendations

  • 差分バックアップのサイズが大きくなると、データベースを復元するときに、差分バックアップの復元に要する時間がかなり長くなります。As the differential backups increase in size, restoring a differential backup will significantly increase the time required to restore a database. 定期的に新しい完全バックアップを実行することにより、データの新しい差分ベースを作成することをお勧めします。We recommend that you take a new full backup at set intervals to establish a new differential base for the data. たとえば、データベース全体のバックアップ (つまり、データベースの完全バックアップ) を週に 1 回実行し、次の週の完全バックアップまでの間、一連のデータベースの差分バックアップを定期的に実行します。For example, you might take a weekly full backup of the whole database (that is, a full database backup) followed by a regular series of differential database backups during the week.

セキュリティSecurity

最初に権限を確認してください。Check your permissions first!

BACKUP DATABASE 権限と BACKUP LOG 権限は、既定では、 sysadmin 固定サーバー ロール、 db_owner 固定データベース ロール、および db_backupoperator 固定データベース ロールのメンバーに与えられています。BACKUP DATABASE and BACKUP LOG permissions default to members of the sysadmin fixed server role, the db_owner and db_backupoperator fixed database roles.

バックアップ デバイスの物理ファイルに対する所有権と権限に問題があると、バックアップ操作が妨げられます。Ownership and permission problems on the backup device's physical file will interfere with a backup operation. SQL ServerSQL Server では、デバイスに対して読み書きを実行できる必要があります。 SQL ServerSQL Server サービスが実行されているアカウントには書き込み権限が必要です。needs to be able to read and write to the device; the account under which the SQL ServerSQL Server service runs must have write permissions. ただし、システム テーブルにバックアップ デバイスのエントリを追加する sp_addumpdeviceでは、ファイル アクセスの権限は確認 されませんHowever, sp_addumpdevice, which adds an entry for a backup device in the system tables, does not check file access permissions. バックアップ デバイスの物理ファイルに対する権限の問題は、バックアップや復元を試行したときに物理リソースがアクセスされるまで、表面化しない可能性があります。Permissions problems on the backup device's physical file will not be obvious until the physical resource is accessed when you attempt the backup or restore.

SQL Server Management StudioSQL Server Management Studio

データベースの差分バックアップの作成Create a differential database backup

フィードバックをお待ちしております。 この記事の手順やコード例の中で、古い情報や間違っている情報を見つけた場合は、ぜひお知らせください。We are listening: If you find something outdated or incorrect in this article, such as a step or a code example, please tell us. このページの下部にある [フィードバック] セクション内で [このページ] ボタンをクリックしてください。You can click the This page button in the Feedback section at the bottom of this page. SQL に関するフィードバックのすべての項目に目を通しています (通常は翌日)。We read every item of feedback about SQL, typically the next day. よろしくお願いいたします。Thanks.

  1. オブジェクト エクスプローラーで適切な MicrosoftMicrosoft SQL Server データベース エンジンSQL Server Database Engineのインスタンスに接続した後、サーバー名をクリックしてサーバー ツリーを展開します。After connecting to the appropriate instance of the MicrosoftMicrosoft SQL Server データベース エンジンSQL Server Database Engine, in Object Explorer, click the server name to expand the server tree.

  2. [データベース] を展開し、目的のデータベースに応じて、任意のユーザー データベースを選択するか、または [システム データベース] を展開して任意のシステム データベースを選択します。Expand Databases, and depending on the database, either select a user database or expand System Databases and select a system database.

  3. データベースを右クリックして [タスク] をポイントし、 [バックアップ] をクリックします。Right-click the database, point to Tasks, and then click Back Up. [データベースのバックアップ] ダイアログ ボックスが表示されます。The Back Up Database dialog box appears.

  4. [データベース] ボックスに、適切なデータベース名が表示されていることを確認します。In the Database list box, verify the database name. 必要に応じて、このボックスの一覧から別のデータベースを選択することもできます。You can optionally select a different database from the list.

    差分バックアップは、すべての復旧モデル (完全復旧モデル、一括ログ復旧モデル、または単純復旧モデル) に対して実行できます。You can perform a differential backup for any recovery model (full, bulk-logged, or simple).

  5. [バックアップの種類] ボックスの一覧の [差分] を選択します。In the Backup type list box, select Differential.

    重要

    [差分] を選択した後、 [バックアップのみコピーする] チェック ボックスがオフになっていることを確認します。When you selectDifferential , verify that the Copy Only Backup check box is cleared.

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

  7. [名前] ボックスに表示された既定のバックアップ セット名をそのまま使用するか、または別のバックアップ セット名を入力します。Either accept the default backup set name suggested in the Name text box, or enter a different name for the backup set.

  8. 必要に応じて、 [説明] ボックスに、バックアップ セットの説明を入力します。Optionally, in the Description text box, enter a description of the backup set.

  9. バックアップ セットの有効期限を指定します。Specify when the backup set will expire:

    • バックアップ セットが指定の日数後に期限切れになるようにするには、 [期間指定] (既定のオプション) をクリックし、セットを作成してからセットが期限切れになるまでの日数を入力します。To have the backup set expire after a specific number of days, click After (the default option), and enter the number of days after set creation that the set will expire. 0 ~ 99,999 日の値を指定できます。0 日を指定すると、バックアップ セットの有効期限は無期限になります。This value can be from 0 to 99999 days; 0 days means the backup set will never expire.

      既定値は、 [サーバーのプロパティ] ダイアログ ボックス ( [データベースの設定] ページ) の [バックアップ メディアの既定の保有期間 (日)] オプションで設定されています。The default value is set in the Default backup media retention (in days) option of the Server Properties dialog box (Database Settings page). このオプションを表示するには、オブジェクト エクスプローラーでサーバー名を右クリックし、[プロパティ] をクリックします。次に、 [データベースの設定] ページをクリックします。To access this, right-click the server name in Object Explorer and select properties; then select the Database Settings page.

    • バックアップ セットが特定の日付に期限切れになるようにするには、 [日時指定] をクリックし、セットの有効期限が切れる日付を入力します。To have the backup set expire on a specific date, click On, and enter the date on which the set will expire.

  10. [ディスク] または [テープ] をクリックして、バックアップ先を選択します。Choose the type of backup destination by clicking Disk or Tape. [追加] をクリックすると、1 つのメディア セットを含んでいる、最高で 64 個のディスク ドライブまたはテープ ドライブのパスを選択できます。To select the path of up to 64 disk or tape drives containing a single media set, click Add. 選択したパスは、 [バックアップ先] ボックスの一覧に表示されます。The selected paths are displayed in the Backup to list box.

    バックアップ先を削除するには、バックアップ先を選択して [削除] をクリックします。To remove a backup destination, select it and click Remove. バックアップ先の内容を表示するには、バックアップ先を選択して [内容] をクリックします。To view the contents of a backup destination, select it and click Contents.

  11. 詳細設定オプションを表示または選択するには、 [ページの選択] ペインの [オプション] をクリックします。To view or select the advanced options, click Options in the Select a page pane.

  12. 次のいずれかをクリックして、 [メディアに上書きします] オプションを選択します。Select an Overwrite Media option, by clicking one of the following:

    • [既存のメディア セットにバックアップする]Back up to the existing media set

      このオプションでは、 [既存のバックアップ セットに追加する] または [既存のすべてのバックアップ セットを上書きする] をクリックします。For this option, click either Append to the existing backup set or Overwrite all existing backup sets. 必要に応じて、 [メディア セット名とバックアップ セットの有効期限を確認する] チェック ボックスをオンにします。また、必要に応じて、 [メディア セット名] ボックスに名前を入力します。Optionally, check the Check media set name and backup set expiration check box and, optionally, enter a name in the Media set name text box. 名前を指定しなかった場合、空の名前でメディア セットが作成されます。If no name is specified, a media set with a blank name is created. メディア セット名を指定した場合は、メディア (テープまたはディスク) を調べて、実際の名前とここで入力した名前が一致するかどうかが確認されます。If you specify a media set name, the media (tape or disk) is checked to see if the actual name matches the name you enter here.

      メディア名を指定せずに、このチェック ボックスをオンにしてこのメディアを確認するよう指定した場合は、実際のメディア名も空でないとエラーになります。If you leave the media name blank and check the box to check it against the media, success will equal the media name on the media also being blank.

    • [新しいメディア セットにバックアップし、すべての既存のバックアップ セットを消去する]Back up to a new media set, and erase all existing backup sets

      このオプションでは、 [新しいメディア セット名] ボックスに名前を入力し、必要に応じて [新しいメディア セットの説明] ボックスにメディア セットの説明を入力します。For this option, enter a name in the New media set name text box, and, optionally, describe the media set in the New media set description text box.

  13. [信頼性] セクションで、必要に応じて次の項目をオンにします。In the Reliability section, optionally, check:

  14. [全般] ページの [バックアップ先] セクションで、テープ ドライブにバックアップするように指定した場合は、 [バックアップ後にテープをアンロードする] チェック ボックスがアクティブになります。If you are backing up to a tape drive (as specified in the Destination section of the General page), the Unload the tape after backup option is active. このオプションをオンにすると、 [アンロードの前にテープを巻き戻す] オプションがアクティブになります。Clicking this option activates the Rewind the tape before unloading option.

    注意

    [全般] ページの [バックアップの種類] で、トランザクション ログをバックアップするように指定しなかった場合、 [トランザクション ログ] セクションの各オプションは無効になっています。The options in the Transaction log section are inactive unless you are backing up a transaction log (as specified in the Backup type section of the General page).

  15. SQL Server 2008 EnterpriseSQL Server 2008 Enterprise 以降では、 バックアップの圧縮がサポートされています。and later supports backup compression. 既定では、バックアップが圧縮されるかどうかは、 [バックアップ圧縮の既定] サーバー構成オプションの値によって決まります。By default, whether a backup is compressed depends on the value of the backup-compression default server configuration option. ただし、現在のサーバー レベルの既定の設定にかかわらず、 [バックアップを圧縮する] をオンにしてバックアップを圧縮することも、 [バックアップを圧縮しない] をオンにして圧縮しないようにすることもできます。However, regardless of the current server-level default, you can compress a backup by checking Compress backup, and you can prevent compression by checking Do not compress backup.

    現在の backup compression default 値を表示するにはTo view the current backup compression default

    注意

    メンテナンス プラン ウィザードを使用して、データベースの差分バックアップを作成することもできます。Alternatively, you can use the Maintenance Plan Wizard to create differential database backups.

Transact-SQLTransact-SQL

データベースの差分バックアップの作成Create a differential database backup

  1. 次の項目を指定した BACKUP DATABASE ステートメントを実行し、データベースの差分バックアップを作成します。Execute the BACKUP DATABASE statement to create the differential database backup, specifying:

    • バックアップするデータベースの名前。The name of the database to back up.

    • データベースの完全バックアップを書き込むバックアップ デバイス。The backup device where the full database backup is written.

    • DIFFERENTIAL 句。この句は、データベースの前回の完全バックアップの作成後に変更されたデータベースの部分だけをバックアップするときに指定します。The DIFFERENTIAL clause, to specify that only the parts of the database that have changed after the last full database backup was created are backed up.

    必須の構文は次のとおりです。The required syntax is:

    BACKUP DATABASE database_name TO <backup_device> WITH DIFFERENTIALBACKUP DATABASE database_name TO <backup_device> WITH DIFFERENTIAL

例 (Transact-SQL)Example (Transact-SQL)

この例では、 MyAdvWorks データベースの完全バックアップおよび差分バックアップを作成します。This example creates a full and a differential database backup for the MyAdvWorks database.

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

参照See Also

差分バックアップ (SQL Server) Differential Backups (SQL Server)
データベースの完全バックアップの作成 (SQL Server) Create a Full Database Backup (SQL Server)
ファイルおよびファイル グループのバックアップ (SQL Server) Back Up Files and Filegroups (SQL Server)
データベースの差分バックアップの復元 (SQL Server) Restore a Differential Database Backup (SQL Server)
トランザクション ログ バックアップの復元 (SQL Server) Restore a Transaction Log Backup (SQL Server)
メンテナンス プラン Maintenance Plans
ファイルの完全バックアップ (SQL Server)Full File Backups (SQL Server)