自動データベース バックアップを使用して Azure SQL データベースを復旧するRecover an Azure SQL database by using automated database backups

既定では、Azure SQL Database のバックアップは geo レプリケートされた Blob Storage に格納されます。By default, Azure SQL Database backups are stored in geo-replicated blob storage. 自動データベース バックアップを使用したデータベースの復旧には、次のオプションを使用できます。The following options are available for database recovery by using automated database backups. 次のようにすることができます。You can:

  • 同じ SQL Database サーバー上に、保有期間内の特定の時点に復旧された新しいデータベースを作成します。Create a new database on the same SQL Database server, recovered to a specified point in time within the retention period.
  • 同じ SQL Database サーバー上に、削除されたデータベースの削除時点に復旧されたデータベースを作成します。Create a database on the same SQL Database server, recovered to the deletion time for a deleted database.
  • 同じリージョン内の任意の SQL Database サーバー上に、最新のバックアップの時点に復旧された新しいデータベースを作成します。Create a new database on any SQL Database server in the same region, recovered to the point of the most recent backups.
  • 任意の他のリージョン内の任意の SQL Database サーバー上に、最新のレプリケートされたバックアップの時点に復旧された新しいデータベースを作成します。Create a new database on any SQL Database server in any other region, recovered to the point of the most recent replicated backups.

バックアップの長期保有を構成している場合、任意の長期保有バックアップから任意の SQL Database サーバー上に新しいデータベースを作成することもできます。If you configured backup long-term retention, you can also create a new database from any long-term retention backup on any SQL Database server.

重要

復元中に既存のデータベースを上書きすることはできません。You can't overwrite an existing database during restore.

Standard または Premium のサービス レベルを使用している場合、データベースの復元によって追加のストレージ コストが発生する可能性があります。When you're using the Standard or Premium service tiers, your database restore might incur an extra storage cost. 復元されたデータベースの最大サイズが、ターゲット データベースのサービス レベルとパフォーマンス レベルに含まれるストレージの量を超えると、追加のコストが発生します。The extra cost is incurred when the maximum size of the restored database is greater than the amount of storage included with the target database's service tier and performance level. 追加ストレージの価格について詳しくは、「SQL Database の価格」をご覧ください。For pricing details of extra storage, see the SQL Database pricing page. 実際に使用される容量が、含まれるストレージの量より少ない場合、データベースの最大サイズを含まれる量に設定することで、この追加コストを回避できます。If the actual amount of used space is less than the amount of storage included, you can avoid this extra cost by setting the maximum database size to the included amount.

注意

データベースのコピーを作成するときは、自動データベース バックアップを使用します。When you create a database copy, you use automated database backups.

復旧時間Recovery time

自動データベース バックアップを使用してデータベースを復元する復旧時間は、さまざまな要因によって影響を受けます。The recovery time to restore a database by using automated database backups is affected by several factors:

  • データベースのサイズ。The size of the database.
  • データベースのコンピューティング サイズ。The compute size of the database.
  • 関連するトランザクション ログの数。The number of transaction logs involved.
  • 復元時点に復旧するために再生する必要があるアクティビティの量。The amount of activity that needs to be replayed to recover to the restore point.
  • 別のリージョンへの復元の場合は、ネットワーク帯域幅。The network bandwidth if the restore is to a different region.
  • ターゲット リージョンで処理される、同時実行される復元要求の数The number of concurrent restore requests being processed in the target region.

大規模なデータベースや、非常に活動の激しいデータベースの場合、復元に数時間かかることがあります。For a large or very active database, the restore might take several hours. あるリージョンでの停止が長引いた場合、他のリージョンによって処理される geo リストア要求の数が多くなることがあります。If there is a prolonged outage in a region, it's possible that there are large numbers of geo-restore requests being processed by other regions. 多くの要求がある場合、そのリージョンでのデータベースの復旧時間が長くなる可能性があります。When there are many requests, the recovery time can increase for databases in that region. ほとんどのデータベースの復元は、12 時間未満で完了します。Most database restores complete in less than 12 hours.

単一サブスクリプションには、同時リストア要求の数に制限があります。For a single subscription, there are limitations on the number of concurrent restore requests. これらの制限は、ポイントインタイム リストア、geo リストア、および長期保有バックアップからの復元の任意の組み合わせに適用されます。These limitations apply to any combination of point-in-time restores, geo restores, and restores from long-term retention backup.

処理される同時要求の最大数Max # of concurrent requests being processed 送信される同時要求の最大数Max # of concurrent requests being submitted
単一のデータベース (サブスクリプションごと)Single database (per subscription) 1010 6060
エラスティック プール (プールごと)Elastic pool (per pool) 44 200200

サーバー全体を復元するための組み込みの方法はありません。There isn't a built-in method to restore the entire server. このタスクを実行する方法の例については、「Azure SQL Database: サーバーの完全復旧」を参照してください。For an example of how to accomplish this task, see Azure SQL Database: Full Server Recovery.

重要

自動バックアップを使って復旧するには、サブスクリプションにおける SQL Server の共同作成者ロールのメンバーまたはサブスクリプション所有者である必要があります。To recover by using automated backups, you must be a member of the SQL Server contributor role in the subscription, or be the subscription owner. 詳細については、RBAC: 組み込みのロールに関するページをご覧ください。For more information, see RBAC: Built-in roles. 復旧には、Azure portal、PowerShell、または REST API を使用できます。You can recover by using the Azure portal, PowerShell, or the REST API. Transact-SQL は使用できません。You can't use Transact-SQL.

ポイントインタイム リストアPoint-in-time restore

Azure portal、PowerShell、または REST API を使用して、スタンドアロンのデータベース、プールされたデータベース、またはインスタンス データベースを、以前の時点に復元できます。You can restore a standalone, pooled, or instance database to an earlier point in time by using the Azure portal, PowerShell, or the REST API. 要求では、復元されるデータベースに対して任意のサービス レベルまたはコンピューティング サイズを指定できます。The request can specify any service tier or compute size for the restored database. データベースを復元するサーバーに十分なリソースを確保します。Ensure that you have sufficient resources on the server to which you are restoring the database. 完了すると、元のデータベースと同じサーバー上に新しいデータベースが作成されます。When complete, the restore creates a new database on the same server as the original database. 復元されたデータベースでは、サービス レベルとコンピューティング サイズに基づいて通常料金が発生します。The restored database is charged at normal rates, based on its service tier and compute size. データベースの復元が完了するまでは、料金は発生しません。You don't incur charges until the database restore is complete.

通常、以前の時点へのデータベースの復元は、復旧の目的で行います。You generally restore a database to an earlier point for recovery purposes. 復元されたデータベースは、元のデータベースの代わりとして扱うことも、元のデータベースを更新するためのソース データとして使用することもできます。You can treat the restored database as a replacement for the original database, or use it as source data to update the original database.

  • データベースの置換Database replacement

    復元されたデータベースを元のデータベースの代わりとして使用する場合は、元のデータベースのコンピューティング サイズとサービス レベルを指定する必要があります。If you intend the restored database to be a replacement for the original database, you should specify the original database's compute size and service tier. 次に、T-SQL の ALTER DATABASE コマンドを使用して、元のデータベース名を変更し、復元されたデータベースに元の名前を付けます。You can then rename the original database, and give the restored database the original name by using the ALTER DATABASE command in T-SQL.

  • データの復旧Data recovery

    ユーザー エラーまたはアプリケーション エラーからの復旧のために、復元されたデータベースからデータを取得する場合は、復元されたデータベースからデータを抽出して元のデータベースに適用するデータ復旧スクリプトを作成して実行する必要があります。If you plan to retrieve data from the restored database to recover from a user or application error, you need to write and execute a data recovery script that extracts data from the restored database and applies to the original database. 復元操作が完了するまでに時間がかかる可能性がありますが、復元プロセスを通して、復元しているデータベースがデータベース一覧に表示されます。Although the restore operation may take a long time to complete, the restoring database is visible in the database list throughout the restore process. 復元中にデータベースを削除すると、復元操作は取り消され、復元が完了していないデータベースに対しては課金されません。If you delete the database during the restore, the restore operation will be canceled and you will not be charged for the database that did not complete the restore.

Azure portal を使用したポイントインタイム リストアPoint-in-time restore by using Azure portal

Azure portal で復元するデータベースの概要ブレードから、単一の SQL データベースまたはインスタンス データベースを特定の時点に復旧できます。You can recover a single SQL database or instance database to a point in time from the overview blade of the database you want to restore in the Azure portal.

単一の Azure SQL データベースSingle Azure SQL database

Azure portal を使用して単一データベースまたはプールされたデータベースを特定の時点に復旧するには、データベースの概要ページを開き、ツール バーの [復元] を選択します。To recover a single or pooled database to a point in time by using the Azure portal, open the database overview page, and select Restore on the toolbar. バックアップ ソースを選択し、新しいデータベースを作成する特定の時点のバックアップ ポイントを選択します。Choose the backup source, and select the point-in-time backup point from which a new database will be created.

データベース復元オプションのスクリーンショット

マネージド インスタンスのデータベースManaged instance database

Azure portal を使用してマネージド インスタンス データベースを特定の時点に復旧するには、データベースの概要ページを開き、ツール バーの [復元] を選択します。To recover a managed instance database to a point in time by using the Azure portal, open the database overview page, and select Restore on the toolbar. 新しいデータベースを作成する特定の時点のバックアップ ポイントを選択します。Choose the point-in-time backup point from which a new database will be created.

データベース復元オプションのスクリーンショット

ヒント

データベースをプログラムでバックアップから復元するには、「自動バックアップを使用したプログラム実行の復旧」を参照してください。To programmatically restore a database from a backup, see Programmatically performing recovery using automated backups.

削除されたデータベースの復元Deleted database restore

削除されたデータベースを、削除時点またはそれ以前の時点の状態で、同じ SQL Database サーバー上または同じマネージド インスタンス上に復元できます。You can restore a deleted database to the deletion time, or an earlier point in time, on the same SQL Database server or the same managed instance. Azure portal、PowerShell、または REST (createMode=Restore) を使用して、これを行うことができます。You can accomplish this through the Azure portal, PowerShell, or the REST (createMode=Restore). 削除されたデータベースを復元するには、バックアップから新しいデータベースを作成します。You restore a deleted database by creating a new database from the backup.

重要

Azure SQL Database サーバーまたはマネージド インスタンスを削除すると、そのデータベースもすべて削除され、復旧することはできません。If you delete an Azure SQL Database server or managed instance, all its databases are also deleted, and can't be recovered. 削除されたサーバーまたはマネージド インスタンスは復元できません。You can't restore a deleted server or managed instance.

削除されたデータベースの Azure portal を使用した復元Deleted database restore by using the Azure portal

削除されたデータベースを、Azure portal を使用してサーバーおよびインスタンス リソースから復元します。You restore deleted databases from the Azure portal from the server and instance resource.

単一の Azure SQL データベースSingle Azure SQL database

Azure portal を使用して、削除された単一データベースまたはプールされたデータベースを復旧するには、サーバーの概要ページを開き、 [削除されたデータベース] を選択します。To recover a single or pooled deleted database by using the Azure portal, open the server overview page, and select Deleted databases. 復元する削除されたデータベースを選択し、バックアップから復元されたデータを使用して作成される新しいデータベースの名前を入力します。Select a deleted database that you want to restore, and type the name for the new database that will be created with data restored from the backup.

削除されたデータベースのオプションのスクリーンショット

マネージド インスタンスのデータベースManaged instance database

Azure portal を使用して、マネージド インスタンス上の削除されたデータベースを復元することはできません。You can't use the Azure portal to restore a deleted database on a managed instance. この目的には PowerShell を使用できます。You can use PowerShell for this purpose.

削除されたデータベースの PowerShell を使用した復元Deleted database restore by using PowerShell

PowerShell を使用して、Azure SQL Database とマネージド インスタンスの削除されたデータベースを復元するには、以下のサンプル スクリプトを使用します。Use the following sample scripts to restore a deleted database for Azure SQL Database and a managed instance by using PowerShell.

単一の Azure SQL データベースSingle Azure SQL database

削除された Azure SQL データベースの復元方法を示すサンプル PowerShell スクリプトについては、PowerShell を使用した SQL データベースの復元に関するページをご覧ください。For a sample PowerShell script showing how to restore a deleted Azure SQL database, see Restore a SQL database using PowerShell.

マネージド インスタンスのデータベースManaged instance database

削除されたインスタンス データベースの復元方法を示す PowerShell スクリプトのサンプルについては、PowerShell を使用したマネージド インスタンス上の削除されたデータベースの復元に関するページをご覧ください。For a sample PowerShell script showing how to restore a deleted instance database, see Restore deleted database on managed instance using PowerShell.

ヒント

削除されたデータベースをプログラムで復元するには、「自動バックアップを使用したプログラム実行の復旧」を参照してください。To programmatically restore a deleted database, see Programmatically performing recovery using automated backups.

geo リストアGeo-restore

geo レプリケートされた最新のバックアップから任意の Azure リージョン内の任意のサーバーで SQL データベースを復元することができます。You can restore a SQL database on any server in any Azure region from the most recent geo-replicated backups. geo リストアでは、geo レプリケートされたバックアップをソースとして使用します。Geo-restore uses a geo-replicated backup as its source. データベースまたはデータセンターが停止してアクセスできない場合でも、geo リストアを要求できます。You can request geo-restore even if the database or datacenter is inaccessible due to an outage.

geo リストアは、ホスティング リージョンでのインシデントが原因でデータベースが利用できない場合の既定の復旧オプションです。Geo-restore is the default recovery option when your database is unavailable because of an incident in the hosting region. データベースは他の任意のリージョンのサーバーに復元できます。You can restore the database to a server in any other region. バックアップが取得される時刻と、別のリージョンの Azure BLOB にその差分バックアップが geo レプリケートされる時刻には時間差があります。There is a delay between when a backup is taken and when it is geo-replicated to an Azure blob in a different region. その結果、復元されたデータベースは、元のデータベースより最大 1 時間遅れることがあります。As a result, the restored database can be up to one hour behind the original database. 次の図では、別のリージョン内の利用可能な最新のバックアップからのデータベースの復元を示します。The following illustration shows a database restore from the last available backup in another region.

geo リストアの図

Azure portal を使用した geo リストアGeo-restore by using the Azure portal

Azure portal から、新しい単一データベースまたはマネージド インスタンス データベースを作成し、使用可能な geo リストア バックアップを選択します。From the Azure portal, you create a new single or managed instance database, and select an available geo-restore backup. 新しく作成されたデータベースに、geo リストアされたバックアップ データが格納されます。The newly created database contains the geo-restored backup data.

単一の Azure SQL データベースSingle Azure SQL database

選択したリージョンとサーバーの単一の SQL データベースを Azure portal から geo リストアするには、次の手順のようにします。To geo-restore a single SQL database from the Azure portal in the region and server of your choice, follow these steps:

  1. ダッシュボードから、 [追加] > [SQL データベースの作成] を選択します。From Dashboard, select Add > Create SQL Database. [基本] タブで、必要な情報を入力します。On the Basics tab, enter the required information.

  2. [追加設定] を選択します。Select Additional settings.

  3. [既存のデータを使用します][バックアップ] を選択します。For Use existing data, select Backup.

  4. [バックアップ] で、使用可能な geo リストア バックアップの一覧からバックアップを選択します。For Backup, select a backup from the list of available geo-restore backups.

    [SQL データベースの作成] のオプションのスクリーンショット

新しいデータベースを作成するプロセスを完了します。Complete the process of creating a new database. 単一の Azure SQL データベースを作成すると、復元された geo リストア バックアップが格納されます。When you create the single Azure SQL database, it contains the restored geo-restore backup.

マネージド インスタンスのデータベースManaged instance database

Azure portal を使用して、マネージド インスタンス データベースを任意のリージョンの既存のマネージド インスタンスに geo リストアするには、復元するデータベースが存在するマネージド インスタンスを選択します。To geo-restore a managed instance database from the Azure portal to an existing managed instance in a region of your choice, select a managed instance on which you want a database to be restored. 次の手順に従います。Follow these steps:

  1. [新しいデータベース] を選択します。Select New database.

  2. 目的のデータベース名を入力します。Type a desired database name.

  3. [既存のデータを使用します][バックアップ] を選択します。Under Use existing data, select Backup.

  4. 使用可能な geo リストア バックアップの一覧からバックアップを選択します。Select a backup from the list of available geo-restore backups.

    [新しいデータベース] のオプションのスクリーンショット

新しいデータベースを作成するプロセスを完了します。Complete the process of creating a new database. インスタンス データベースを作成すると、復元された geo リストア バックアップが格納されます。When you create the instance database, it contains the restored geo-restore backup.

PowerShell を使用した geo リストアGeo-restore by using PowerShell

単一の Azure SQL データベースSingle Azure SQL database

単一の SQL データベースに対して geo リストアを実行する方法を示す PowerShell スクリプトについては、「PowerShell を使用して Azure SQL 単一データベースの以前の時点に復元する」を参照してください。For a PowerShell script that shows how to perform geo-restore for a single SQL database, see Use PowerShell to restore an Azure SQL single database to an earlier point in time.

マネージド インスタンスのデータベースManaged instance database

マネージド インスタンス データベースに対して geo リストアを実行する方法を示す PowerShell スクリプトについては、「PowerShell を使用して Managed Instance データベースを別の geo リージョンに復元する」を参照してください。For a PowerShell script that shows how to perform geo-restore for a managed instance database, see Use PowerShell to restore a managed instance database to another geo-region.

geo リストアに関する考慮事項Geo-restore considerations

geo セカンダリ データベースでは、ポイントインタイム リストアを実行できません。You can't perform a point-in-time restore on a geo-secondary database. できるのはプライマリ データベースだけです。You can only do so on a primary database. geo リストアを使用して障害から復旧する方法の詳細については、障害からの復旧に関するページを参照してください。For detailed information about using geo-restore to recover from an outage, see Recover from an outage.

重要

geo リストアは、SQL Database で使用できる最も基本的なディザスター リカバリー ソリューションです。Geo-restore is the most basic disaster recovery solution available in SQL Database. それは、自動的に作成される geo レプリケートされたバックアップに依存し、目標復旧時点 (RPO) は 1 時間、推定復旧時間は最大 12 時間です。It relies on automatically created geo-replicated backups with recovery point objective (RPO) equal to 1 hour, and the estimated recovery time of up to 12 hours. リージョンの停止後は、需要が急激に増加する可能性があるため、目的のデータベースを復元する容量がターゲット リージョンに確保される保証はありません。It doesn't guarantee that the target region will have the capacity to restore your databases after a regional outage, because a sharp increase of demand is likely. アプリケーションで使用されているデータベースが比較的小さく、アプリケーションがビジネス クリティカルではない場合は、geo リストアが適切なディザスター リカバリー ソリューションです。If your application uses relatively small databases and is not critical to the business, geo-restore is an appropriate disaster recovery solution. 大規模なデータベースを使用し、事業継続性を確保する必要があるビジネス クリティカルなアプリケーションの場合は、自動フェールオーバー グループを使用する必要があります。For business-critical applications that use large databases and must ensure business continuity, you should use Auto-failover groups. 大幅に低い RPO と目標復旧時間が実現され、容量が常に保証されます。It offers a much lower RPO and recovery time objective, and the capacity is always guaranteed. ビジネスを継続するための選択の詳細については、ビジネス継続性の概要に関するページを参照してください。For more information on business continuity choices, see Overview of business continuity.

自動バックアップを使用したプログラム実行の復旧Programmatically performing recovery by using automated backups

Azure PowerShell または REST API を復旧に使用することもできます。You can also use Azure PowerShell or the REST API for recovery. 次の表では、使用できるコマンド セットについて説明します。The following tables describe the set of commands available.

PowerShellPowerShell

注意

この記事は、新しい Azure PowerShell Az モジュールを使用するために更新されました。This article has been updated to use the new Azure PowerShell Az module. AzureRM モジュールはまだ使用でき、少なくとも 2020 年 12 月までは引き続きバグ修正が行われます。You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Az モジュールと AzureRM の互換性の詳細については、「Introducing the new Azure PowerShell Az module (新しい Azure PowerShell Az モジュールの概要)」を参照してください。To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Az モジュールのインストール手順については、Azure PowerShell のインストールを参照してください。For Az module installation instructions, see Install Azure PowerShell.

重要

PowerShell Azure Resource Manager モジュールは Azure SQL Database で引き続きサポートされますが、今後の開発はすべて Az.Sql モジュールを対象に行われます。The PowerShell Azure Resource Manager module is still supported by Azure SQL Database, but all future development is for the Az.Sql module. これらのコマンドレットについては、「AzureRM.Sql」を参照してください。For these cmdlets, see AzureRM.Sql. Az モジュールと AzureRm モジュールのコマンドの引数はかなりの程度まで同じです。Arguments for the commands in the Az module and in AzureRm modules are to a great extent identical.

単一の Azure SQL データベースSingle Azure SQL database

スタンドアロン データベースまたはプールされたデータベースを復元するには、「Restore-AzSqlDatabase」を参照してください。To restore a standalone or pooled database, see Restore-AzSqlDatabase.

コマンドレットCmdlet 説明Description
Get-AzSqlDatabaseGet-AzSqlDatabase 1 つまたは複数のデータベースを取得します。Gets one or more databases.
Get-AzSqlDeletedDatabaseBackupGet-AzSqlDeletedDatabaseBackup 復元する削除済みデータベースを取得します。Gets a deleted database that you can restore.
Get-AzSqlDatabaseGeoBackupGet-AzSqlDatabaseGeoBackup データベースの geo 冗長バックアップを取得します。Gets a geo-redundant backup of a database.
Restore-AzSqlDatabaseRestore-AzSqlDatabase SQL Database を復元します。Restores a SQL database.

ヒント

データベースのポイントインタイム リストアの実行方法を示すサンプル PowerShell スクリプトについては、PowerShell を使用した SQL データベースの復元に関するページを参照してください。For a sample PowerShell script that shows how to perform a point-in-time restore of a database, see Restore a SQL database using PowerShell.

マネージド インスタンスのデータベースManaged instance database

マネージド インスタンス データベースを復元するには、「Restore-AzSqlInstanceDatabase」を参照してください。To restore a managed instance database, see Restore-AzSqlInstanceDatabase.

コマンドレットCmdlet 説明Description
Get-AzSqlInstanceGet-AzSqlInstance 1 つまたは複数のマネージド インスタンスを取得します。Gets one or more managed instances.
Get-AzSqlInstanceDatabaseGet-AzSqlInstanceDatabase インスタンス データベースを取得します。Gets an instance database.
Restore-AzSqlInstanceDatabaseRestore-AzSqlInstanceDatabase インスタンス データベースを復元します。Restores an instance database.

REST APIREST API

REST API を使用して単一データベースまたはプールされたデータベースを復元するには:To restore a single or pooled database by using the REST API:

APIAPI 説明Description
REST (createMode=Recovery)REST (createMode=Recovery) データベースを復元します。Restores a database.
Get Create or Update Database StatusGet Create or Update Database Status 復元操作中にステータスを返します。Returns the status during a restore operation.

Azure CLIAzure CLI

単一の Azure SQL データベースSingle Azure SQL database

Azure CLI を使用して単一データベースまたはプールされたデータベースを復元するには、「az sql db restore」を参照してください。To restore a single or pooled database by using the Azure CLI, see az sql db restore.

マネージド インスタンスのデータベースManaged instance database

Azure CLI を使用してマネージド インスタンス データベースを復元するには、「az sql db restore」を参照してください。To restore a managed instance database by using the Azure CLI, see az sql midb restore.

まとめSummary

自動バックアップは、ユーザー エラーやアプリケーション エラー、偶発的なデータベースの削除、および長期間にわたる障害からデータベースを保護します。Automatic backups protect your databases from user and application errors, accidental database deletion, and prolonged outages. この組み込みの機能は、すべてのサービス レベルとコンピューティング サイズで使用できます。This built-in capability is available for all service tiers and compute sizes.

次の手順Next steps