Microsoft Azure に格納されたバックアップからの復元

適用対象:SQL Server

このトピックでは、Azure Blob Storage に格納されたバックアップを使用してデータベースを復元するときの注意事項について説明します。 対象となるのは、SQL Server Backup to URL または Microsoft Azure への SQL Server マネージド バックアップを使用して作成されたバックアップです。

Azure Blob Storage に格納されたバックアップを復元する計画がある場合は、このトピックを確認した後、データベースの復元方法 (オンプレミス バックアップでも Azure バックアップでも同じ) の手順が説明されているトピックを確認することをお勧めします。

概要

内部設置型バックアップからデータベースを復元するために使用するツールや方法は、クラウド バックアップからのデータベースの復元にも当てはまります。 以下のセクションでは、これらの注意事項に加えて、Azure Blob Storage に格納されたバックアップを使用するときに知っておく必要がある相違点について説明します。

Transact-SQL の使用

  • SQL Server はバックアップ ファイルを取得するために外部ソースに接続する必要があるため、SQL 資格情報を使用してストレージ アカウントへの認証を行います。 そのため、RESTORE ステートメントには WITH CREDENTIAL オプションが必要です。 詳しくは、「Microsoft Azure Blob Storage を使用した SQL Server のバックアップと復元」をご覧ください。

  • Microsoft Azure への SQL Server マネージド バックアップを使用してクラウドへのバックアップを管理している場合、smart_admin.fn_available_backups システム関数を使用すると、ストレージ内の使用可能なバックアップをすべて確認できます。 このシステム関数により、テーブル内のデータベースの使用可能なすべてのバックアップが返されます。 結果はテーブルで返されるため、結果のフィルター処理または並べ替えが可能です。 詳細については、「managed_backup.fn_available_backups (Transact-SQL)」を参照してください。

SQL Server Management Studio を使用する

  • 復元タスクは、SQL Server Management Studio を使用してデータベースを復元するために使用されます。 現在、バックアップ メディアのページには、Azure Blob Storage に格納されたバックアップ ファイルを表示するための [URL] オプションがあります。 また、ストレージ アカウントへの認証に使用する SQL 資格情報を指定することも必要です。 その後、[復元するバックアップ セット] グリッドには、Azure Blob Storage 内の使用可能なバックアップが表示されます。 詳細については、「SQL Server Management Studio を使用した Microsoft Azure Storage からの復元」を参照してください。

復元の最適化

復元の書き込み時間を短縮するには、SQL Server ユーザー アカウントに [ボリュームの保守タスクを実行] ユーザー権利を追加します。 詳細については、「 データベース ファイルの初期化」をご覧ください。 ファイルの瞬時初期化が有効な状態で復元が依然として低速な場合は、データベースをバックアップしたときに使用したインスタンスに対応するログ ファイルのサイズに注目します。 ログのサイズが非常に大きい場合 (数 GB) は、復元が低速であることが予期されます。 ログ ファイルの処理に長い時間が費やされるために、復元中はログ ファイルのサイズを 0 にする必要があります。 データベース トランザクション ログ ファイルの最初の復元は、ファイルの瞬時初期化のメリットを得ることはできません。

復元時間を短縮するには、圧縮されたバックアップを使用することをお勧めします。 バックアップ サイズが 25 GB を超える場合は、 AzCopy ユーティリティ を使用してローカル ドライブにダウンロードしてから復元を実行します。 バックアップに関するその他のベスト プラクティスと推奨事項については、「 SQL Server Backup to URL のベスト プラクティスとトラブルシューティング」を参照してください。

SQL Server 2016 (13.x) 以降のバージョンでは、URL へのバックアップにはブロック BLOB が推奨されます。

  • ページ BLOB を使用している場合、復元を実行するときに詳細ログを生成するために、トレース フラグ 3051 を有効にすることもできます。 このログ ファイルはログ ディレクトリに配置され、次の形式を使用して名前が付けられます: BackupToUrl-\<instancename>-\<dbname>-action-\<PID>.log。 このログ ファイルには、問題の診断に役に立つタイミングも含め、Azure Storage への各ラウンド トリップが記録されます。

復元操作の実行に関するトピック