Azure SQL データベースを復元してデータを復旧させる

完了

復元機能と手順をテストして確認することは、復旧戦略の重要な部分です。 復元プロセスをテストして、バックアップが成功したかどうかを確認します。 また、データベースの復旧に使用できるプロセスやオプションをよく理解しておきます。 この理解は、必要に応じて、確実にデータを迅速かつ正常に復旧させるのに役立ちます。

データベースの自動バックアップから Azure SQL Server データベースを復元する方法を学習しましょう。

復元できるもの

Azure SQL Database の自動バックアップでは、指定されたスケジュールで、読み取りアクセス geo 冗長ストレージ (RA-GRS) アカウント内の BLOB にデータベースをコピーします。 これらのバックアップのいずれかを復元する場合、復元されるデータを格納するための新しいデータベースを作成する必要があります。 データベースを既存のデータベースに上書きして復元することはできません。

新しいデータベースは、Azure SQL Database によりバックアップが作成されたのと同じサーバー上、または別のサーバー上に作成できます。使用できるオプションは次のとおりです。

  • 保有期間内の特定の時点に復旧された、同じ SQL Database サーバー上に新しいデータベースを作成する。
  • 削除されたデータベースの削除時刻に復旧した同じ SQL Database サーバー上にデータベースを作成します。
  • 最新のバックアップの時点まで復旧された同じリージョン内の任意の SQL Database サーバーに新しいデータベースを作成する。
  • バックアップが最後にレプリケートされた時点に復旧された他の任意のリージョン内にあるいずれかの SQL Database サーバー上に新しいデータベースを作成する。

復元のしくみ

復元を完了するために、Azure は、データベースをストレージ アカウントから、指定された Azure SQL Database 論理サーバーに復元します。 ポイントインタイム リストアの場合、SQL Database では、選択された時点まで、復元されたデータベースにトランザクション ログを適用することになります。

このプロセスの長さは大きく異なります。 これは、データベースのサイズ、トランザクション ログ、ネットワーク帯域幅、および同時に実行される復元操作の数によって異なります。 ほとんどの復元操作は、12 時間未満で終了します。

復元操作の所要時間を知る唯一の方法は、試験的に復元することです。 ときどき、試験的に復元して時間を測定し、完全なバックアップと復元の戦略が期待どおりに確実に動作することを確認することをお勧めします。

ポイントインタイム リストアを実行する

データベースの復元は、Azure portal、PowerShell、または Azure CLI を使用して実行することができます。 元の SQL Database サーバー上でポイントインタイム リストアを実行する場合、次のいずれかを選択できます。

  • データベース交換: 復元されたデータベースを元のデータベースの代わりとして使用する場合は、元のデータベースのコンピューティング サイズとサービス レベルを指定する必要があります。 次に、T-SQL の ALTER DATABASE コマンドを使用して、元のデータベース名を変更し、復元されたデータベースに元の名前を付けます。
  • データ復元: エラーを軽減するために、復元されたデータベースからデータを取得する場合、元のデータベースと復元されたデータベースの名前を変更する必要はありません。 代わりに、T-SQL コマンドを使用して、復元されたデータベースから必要なデータを抽出します。 その後、データを元のデータベースに挿入します。

これらのオプションはいずれも、データベースのバックアップをストレージから復元することから始まります。 Azure portal で復元するには、データベースの概要ページにある [復元] ボタンを選択してから、復元する時点を指定します。

PowerShell では、Restore-AzSqlDatabase コマンドレットを使用して復元を実行します。 Azure CLI では、az sql db restore コマンドを使用します。

削除されたデータベースを復元する

データベースを誤って削除した場合、Azure portal または PowerShell を使用して、バックアップから削除時刻まで復元することができます。

ポータルで、データベース サーバーの [概要] ページに移動します。 その後、[操作] 領域で、[削除されたデータベース] を選択します。 削除までの特定の時点を指定してから、[OK] を選択して復元できます。

geo リストアを実行する

Azure SQL Database では、バックアップされたデータベースを他のリージョン内のデータセンターに自動的にレプリケートします。 データセンターの停止などにより、元のリージョンのデータベースを利用できない場合、これらのレプリケートされたバックアップ コピーのいずれかから復元できます。 Azure SQL Database によってバックアップが作成された時点まで復元できます。 最新のバックアップが自分のリージョンに完全にレプリケートされていない可能性があるため、最近の変更が一部失われる場合があります。

Azure portal で geo 復元を実行するには、新しいデータベースを Azure SQL Database に追加し、[ソースの選択] ドロップダウン リストで [バックアップ] を選択し、復元元のバックアップを選択します。