ファイルとファイル グループの復元 (SQL Server)Restore Files and Filegroups (SQL Server)

このトピックでは、 SQL Server 2014SQL Server 2014 または SQL Server Management StudioSQL Server Management Studio を使用して、 Transact-SQLTransact-SQLでファイルとファイル グループを復元する方法について説明します。This topic describes how to restore files and filegroups in SQL Server 2014SQL Server 2014 by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL.

このトピックの内容In This Topic

はじめにBefore You Begin

制限事項と制約事項Limitations and Restrictions

  • ファイルとファイル グループの復元中は、復元作業を実行するシステム管理者以外は、復元されるデータベースを使用しないでください。The system administrator restoring the files and filegroups must be the only person currently using the database to be restored.

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

  • 単純復旧モデルでは、ファイルは読み取り専用のファイル グループに属している必要があります。Under the simple recovery model, the file must belong to a read-only filegroup.

  • 完全復旧モデルまたは一括ログ復旧モデルを使用する場合は、ファイルを復元する前に、ログの末尾と呼ばれるアクティブ トランザクション ログをバックアップする必要があります。Under the full or bulk-logged recovery model, before you can restore files, you must back up the active transaction log (known as the tail of the log). 詳細については、「 トランザクション ログのバックアップ (SQL Server)でファイルとファイル グループを復元する方法について説明します。For more information, see Back Up a Transaction Log (SQL Server).

  • 暗号化されたデータベースを復元するには、データベースの暗号化に使用された証明書または非対称キーにアクセスできることが必要です。To restore a database that is encrypted, you must have access to the certificate or asymmetric key that was used to encrypt the database. 証明書または非対称キーがないと、データベースは復元できません。Without the certificate or asymmetric key, the database cannot be restored. このため、バックアップが必要である間は、データベース暗号化キーの暗号化に使用する証明書を保持しておく必要があります。As a result, the certificate that is used to encrypt the database encryption key must be retained as long as the backup is needed. 詳細については、「 SQL Server Certificates and Asymmetric Keys」を参照してください。For more information, see SQL Server Certificates and Asymmetric Keys.

セキュリティSecurity

PermissionsPermissions

復元するデータベースが存在しない場合、ユーザーは RESTORE を実行できる CREATE DATABASE 権限を使用する必要があります。If the database being restored does not exist, the user must have CREATE DATABASE permissions to be able to execute RESTORE. データベースが存在する場合、既定では、RESTORE 権限は sysadmin 固定サーバー ロールおよび dbcreator 固定サーバー ロールのメンバーと、データベースの所有者 (dbo) に与えられています (FROM DATABASE_SNAPSHOT オプションを使用する場合、データベースは常に存在します)。If the database exists, RESTORE permissions default to members of the sysadmin and dbcreator fixed server roles and the owner (dbo) of the database (for the FROM DATABASE_SNAPSHOT option, the database always exists).

RESTORE 権限は、サーバーでメンバーシップ情報を常に確認できるロールに与えられます。RESTORE permissions are given to roles in which membership information is always readily available to the server. 固定データベース ロールのメンバーシップは、データベースがアクセス可能で破損していない場合にのみ確認することができますが、RESTORE の実行時にはデータベースがアクセス可能で損傷していないことが必ずしも保証されないため、 db_owner 固定データベース ロールのメンバーには RESTORE 権限は与えられません。Because fixed database role membership can be checked only when the database is accessible and undamaged, which is not always the case when RESTORE is executed, members of the db_owner fixed database role do not have RESTORE permissions.

SQL Server Management Studio の使用Using SQL Server Management Studio

ファイルおよびファイル グループを復元するにはTo restore files and filegroups

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

  2. [データベース] を展開します。Expand Databases. 復元するデータベースに応じて、ユーザー データベースを選択するか、 [システム データベース] を展開してシステム データベースを選択します。Depending on the database, either select a user database or expand System Databases, and then select a system database.

  3. データベースを右クリックして [タスク] をポイントし、 [復元] をクリックします。Right-click the database, point to Tasks, and then click Restore.

  4. [ファイルおよびファイル グループ] をクリックして [ファイルおよびファイル グループの復元] ダイアログ ボックスを開きます。Click Files and Filegroups, which opens the Restore Files and Filegroups dialog box.

  5. [全般] ページの [復元先データベース] ボックスに、復元するデータベースの名前を入力します。On the General page, in the To database list box, enter the database to restore. 新しいデータベースを入力するか、ドロップダウン リストから既存のデータベースを選択します。You can enter a new database or choose an existing database from the drop-down list. このリストには、システム データベース master および tempdbを除いた、サーバー上のすべてのデータベースが表示されます。The list includes all databases on the server, excluding the system databases master and tempdb.

  6. 復元するバックアップ セットの復元元ファイルと場所を指定するには、次のいずれかのオプションをクリックします。To specify the source and location of the backup sets to restore, click one of the following options:

    • [復元元データベース]From database

      ボックスにデータベース名を入力します。Enter a database name in the list box. このリストには、 msdb バックアップ履歴に従ってバックアップされたデータベースのみが含まれます。This list contains only databases that have been backed up according to the msdb backup history.

    • [復元元デバイス]From device

      参照ボタンをクリックします。Click the browse button. [バックアップ デバイスの指定] ダイアログ ボックスで、 [バックアップ メディアの種類] ボックスの一覧からいずれかのデバイスの種類を選択します。In the Specify backup devices dialog box, select one of the listed device types in the Backup media type list box. [バックアップ メディア] ボックスに 1 つまたは複数のデバイスを選択するには、 [追加] をクリックします。To select one or more devices for the Backup media list box, click Add.

      [バックアップ メディア] ボックスに目的のデバイスを追加したら、 [OK] をクリックして、 [全般] ページに戻ります。After you add the devices you want to the Backup media list box, click OK to return to the General page.

  7. [復元するバックアップ セットの選択] グリッドで、復元するバックアップを選択します。In the Select the backup sets to restore grid, select the backups to restore. このグリッドには、指定された場所に対して使用可能なバックアップが表示されます。This grid displays the backups available for the specified location. 既定では、復旧計画が推奨されています。By default, a recovery plan is suggested. 推奨された復元計画をオーバーライドするには、グリッドの選択を変更します。To override the suggested recovery plan, you can change the selections in the grid. バックアップの選択を解除すると、それに依存するその他のバックアップも自動的に選択が解除されます。Any backups that depend on a deselected backup are deselected automatically.

    列見出しColumn head Values
    [復元]Restore このチェック ボックスをオンにすると、バックアップ セットが復元されます。The selected check boxes indicate the backup sets to be restored.
    名前Name バックアップ セットの名前です。The name of the backup set.
    [ファイルの種類]File Type バックアップでは、データの種類を指定します。データログ、またはFilestream データします。Specifies the type of data in the backup: Data, Log, or Filestream Data. テーブルに含まれるデータの種類は、 データ ファイルです。Data that is contained in tables is in Data files. トランザクション ログ データの種類は、 ログ ファイルです。Transaction log data is in Log files. ファイル システムに格納されたバイナリ ラージ オブジェクト (BLOB) データの種類は、 FILESTREAM データ ファイルです。Binary large object (BLOB) data that is stored on the file system is in Filestream Data files.
    Type 実行するバックアップの種類: [完全][差分][トランザクション ログ]The type of backup performed: Full, Differential, or Transaction Log.
    [サーバー]Server バックアップ操作を実行するデータベース エンジン インスタンスの名前です。The name of the Database-Engine instance that performed the backup operation.
    [ファイルの論理名]File Logical Name ファイルの論理名です。The logical name of the file.
    [データベース]Database バックアップ操作に呼び出されるデータベース名です。The name of the database involved in the backup operation.
    [開始日]Start Date バックアップ操作が開始した日時で、クライアントの地域設定で表示されます。The date and time when the backup operation began, presented in the regional setting of the client.
    完了日Finish Date バックアップ操作が完了したときの日付と時刻。クライアントの地域設定で表示されます。The date and time when the backup operation finished, presented in the regional setting of the client.
    SizeSize バックアップ セットのサイズ (バイト単位) です。The size of the backup set in bytes.
    [ユーザー名]User Name バックアップ操作を実行したユーザーの名前。The name of the user who performed the backup operation.
  8. 詳細設定オプションの表示または選択を行うには、 [ページの選択] ペインの [オプション] をクリックします。To view or select the advanced options, click Options in the Select a page pane.

  9. 状況が適切であれば、 [復元オプション] パネルでは、次の任意のオプションを選択できます。In the Restore options panel, you can choose any of the following options, if appropriate for your situation.

    [ファイル グループとして復元する]Restore as filegroup
    ファイル グループ全体が復元されることを示します。Indicates that an entire filegroup is being restored.

    [既存のデータベースを上書きする]Overwrite the existing database
    同じ名前を持つ別のデータベースまたはファイルが既に存在していても、復元操作で既存のデータベースおよび関連ファイルを上書きするように指定します。Specifies that the restore operation should overwrite any existing databases and their related files, even if another database or file already exists with the same name.

    このオプションを選択することは、 Transact-SQLTransact-SQL RESTORE ステートメントで REPLACE オプションを使用することと同じです。Selecting this option is equivalent to using the REPLACE option in a Transact-SQLTransact-SQL RESTORE statement.

    [各バックアップを復元する前に確認する]Prompt before restoring each backup
    各バックアップ セットを復元する前にユーザーに確認します。Asks you for confirmation before restoring each backup set.

    このオプションは、サーバーのテープ デバイスが 1 台であるために、メディア セットごとにテープを入れ替える必要がある場合などに特に便利です。This option is particularly useful where you must swap tapes for different media sets, such as when the server has one tape device.

    [復元するデータベースへのアクセスを制限する]Restrict access to the restored database
    復元するデータベースの使用を、 db_ownerdbcreator、または sysadminのメンバーだけに制限します。Makes the restored database available only to the members of db_owner, dbcreator, or sysadmin.

    このオプションを選択することは、 Transact-SQLTransact-SQL RESTORE ステートメントで RESTRICTED_USER オプションを使用することと同じです。Selecting this option is synonymous to using the RESTRICTED_USER option in a Transact-SQLTransact-SQL RESTORE statement.

  10. 新しい場所にデータベースを復元する場合、必要に応じて、 [次のデータベース ファイルに復元] グリッドで各ファイルの新しい復元先を指定できます。Optionally, you can restore the database to a new location by specifying a new restore destination for each file in the Restore database files as grid.

    列見出しColumn head Values
    [元のファイル名]Original File Name ソース バックアップ ファイルの完全なパスです。The full path of a source backup file.
    [ファイルの種類]File Type バックアップでは、データの種類を指定します。データログ、またはFilestream データします。Specifies the type of data in the backup: Data, Log, or Filestream Data. テーブルに含まれるデータの種類は、 データ ファイルです。Data that is contained in tables is in Data files. トランザクション ログ データの種類は、 ログ ファイルです。Transaction log data is in Log files. ファイル システムに格納されたバイナリ ラージ オブジェクト (BLOB) データの種類は、 FILESTREAM データ ファイルです。Binary large object (BLOB) data that is stored on the file system is in Filestream Data files.
    [復元先]Restore As 復元されるデータベース ファイルのフル パスです。The full path of the database file to be restored. 新しい復元ファイルを指定するには、テキスト ボックスをクリックして、指定されているパスおよびファイル名を編集します。To specify a new restore file, click the text box and edit the suggested path and file name. [復元先] 列でパスまたはファイル名を変更することは、 Transact-SQLTransact-SQL RESTORE ステートメントで MOVE オプションを使用することと同じです。Changing the path or file name in the Restore As column is equivalent to using the MOVE option in a Transact-SQLTransact-SQL RESTORE statement.
  11. [復旧状態] パネルの選択内容により、復元操作後のデータベースの状態が決まります。The Recovery state panel determines the state of the database after the restore operation.

    [コミットされていないトランザクションをロールバックして、データベースを使用可能な状態にする。別のトランザクション ログは復元できません。(RESTORE WITH RECOVERY)]Leave the database ready for use by rolling back the uncommitted transactions. Additional transaction logs cannot be restored. (RESTORE WITH RECOVERY)
    データベースを復旧します。Recovers the database. これは既定の動作です。This is the default behavior. このオプションは、必要なすべてのバックアップをすべて復元する場合のみ選択します。Choose this option only if you are restoring all of the necessary backups now. このオプションを選択することは、 Transact-SQLTransact-SQL RESTORE ステートメントで WITH RECOVERY を使用することと同じです。This option is equivalent to specifying WITH RECOVERY in a Transact-SQLTransact-SQL RESTORE statement.

    データベースは操作不可状態のままで、コミットされていないトランザクションはロールバックしない。別のトランザクション ログは復元できます(RESTORE WITH NORECOVERY)Leave the database non-operational, and don't roll back the uncommitted transactions. Additional transaction logs can be restored. (RESTORE WITH NORECOVERY)
    データベースを復元状態のままにします。Leaves the database in the restoring state. データベースを復旧するには、RESTORE WITH RECOVERY オプションを使用して (上記を参照) 別の復元を実行する必要があります。To recover the database, you will need to perform another restore using the preceding RESTORE WITH RECOVERY option (see above). このオプションを選択することは、 Transact-SQLTransact-SQL RESTORE ステートメントで WITH NORECOVERY を使用することと同じです。This option is equivalent to specifying WITH NORECOVERY in a Transact-SQLTransact-SQL RESTORE statement.

    このオプションを選択すると、 [レプリケーションの設定を保存する] オプションを選択できなくなります。If you select this option, the Preserve replication settings option is unavailable.

    [データベースを読み取り専用モードにする。コミットされていないトランザクションはロールバックされますが、復旧結果を元に戻せるようにロールバック操作をファイルに保存します。(RESTORE WITH STANDBY)]Leave the database in read-only mode. Roll back the uncommitted transactions, but save the rollback operation in a file so the recovery effects can be undone. (RESTORE WITH STANDBY)
    データベースをスタンバイ状態のままにします。Leaves the database in a standby state. このオプションを選択することは、 Transact-SQLTransact-SQL RESTORE ステートメントで WITH STANDBY を使用することと同じです。This option is equivalent to specifying WITH STANDBY in a Transact-SQLTransact-SQL RESTORE statement.

    このオプションを選択した場合は、スタンバイ ファイルを指定する必要があります。Choosing this option requires that you specify a standby file.

    [ロールバック UNDO ファイル]Rollback undo file
    [ロールバック UNDO ファイル] テキスト ボックスで、スタンバイ ファイル名を指定します。Specify a standby file name in the Rollback undo file text box. データベースを読み取り専用モード (RECOVERY WITH STANDBY) にする場合は、このオプションが必要です。This option is required if you leave the database in read-only mode (RESTORE WITH STANDBY).

Transact-SQL の使用Using Transact-SQL

ファイルおよびファイル グループを復元するにはTo restore files and filegroups

  1. RESTORE DATABASE ステートメントを実行して、ファイルとファイル グループのバックアップを復元します。そのとき、以下を指定します。Execute the RESTORE DATABASE statement to restore the file and filegroup backup, specifying:

    • 復元するデータベースの名前。The name of the database to restore.

    • 復元するデータベースの完全バックアップが格納されているバックアップ デバイス。The backup device from where the full database backup will be restored.

    • 復元する各ファイルに対応する FILE 句。The FILE clause for each file to restore.

    • 復元する各ファイル グループに対応する FILEGROUP 句。The FILEGROUP clause for each filegroup to restore.

    • NORECOVERY 句。The NORECOVERY clause. バックアップ作成後にファイルが変更されていない場合は、RECOVERY 句を指定します。If the files have not been modified after the backup was created, specify the RECOVERY clause.

  2. ファイル バックアップの作成後にファイルが変更された場合は、RESTORE LOG ステートメントを実行して、トランザクション ログ バックアップを適用します。そのとき、以下を指定します。If the files have been modified after the file backup was created, execute the RESTORE LOG statement to apply the transaction log backup, specifying:

    • トランザクション ログが適用されるデータベースの名前。The name of the database to which the transaction log will be applied.

    • 復元するトランザクション ログのバックアップが格納されているバックアップ デバイス。The backup device from where the transaction log backup will be restored.

    • NORECOVERY 句。現在のトランザクション ログ バックアップを適用した後、別のバックアップがある場合に指定します。それ以外の場合は RECOVERY 句を指定します。The NORECOVERY clause if you have another transaction log backup to apply after the current one; otherwise, specify the RECOVERY clause.

      トランザクション ログ バックアップを適用する場合、そのバックアップには、ファイルとファイル グループのバックアップが作成された時刻の情報が格納されている必要があります (すべてのデータベース ファイルを復元する場合を除く)。The transaction log backups, if applied, must cover the time when the files and filegroups were backed up until the end of log (unless ALL database files are restored).

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

この例では、 MyDatabase データベースのファイルとファイル グループを復元します。This example restores the files and filegroups for the MyDatabase database. データベースを現在の時刻に復元するために、2 つのトランザクション ログが適用されます。To restore the database to the current time, two transaction logs are applied.

USE master;  
GO  
-- Restore the files and filesgroups for MyDatabase.  
RESTORE DATABASE MyDatabase  
   FILE = 'MyDatabase_data_1',  
   FILEGROUP = 'new_customers',  
   FILE = 'MyDatabase_data_2',  
   FILEGROUP = 'first_qtr_sales'  
   FROM MyDatabase_1  
   WITH NORECOVERY;  
GO  
-- Apply the first transaction log backup.  
RESTORE LOG MyDatabase  
   FROM MyDatabase_log1  
   WITH NORECOVERY;  
GO  
-- Apply the last transaction log backup.  
RESTORE LOG MyDatabase  
   FROM MyDatabase_log2  
   WITH RECOVERY;  
GO  

参照See Also

データベースのバックアップを復元(SQL Server Management Studio) Restore a Database Backup (SQL Server Management Studio)
ファイルおよびファイル グループのバックアップ (SQL Server) Back Up Files and Filegroups (SQL Server)
データベースの完全バックアップの作成 (SQL Server) Create a Full Database Backup (SQL Server)
トランザクション ログのバックアップ (SQL Server) Back Up a Transaction Log (SQL Server)
トランザクション ログ バックアップの復元 (SQL Server) Restore a Transaction Log Backup (SQL Server)
RESTORE (Transact-SQL)RESTORE (Transact-SQL)