次の方法で共有


Azure への SQL Server マネージド バックアップ

Microsoft Azure への SQL Server マネージド バックアップは、Azure Blob Storage サービスへの SQL Server バックアップを管理および自動化します。 SQL Server Managed Backup から Microsoft Azure へのバックアップ戦略は、データベースの保有期間とトランザクション ワークロードに基づいています。 Microsoft Azure への SQL Server マネージド バックアップでは、指定された保有期間のポイントインタイム リストアがサポートされます。
Microsoft Azure への SQL Server マネージド バックアップは、データベース レベルまたはインスタンス レベルで有効にして、SQL Server のインスタンス上のすべてのデータベースを管理できます。 SQL Server は、オンプレミスで実行することも、Azure 仮想マシンなどのホスト環境で実行することもできます。 Azure Virtual Machines で実行されている SQL Server には、Microsoft Azure への SQL Server マネージド バックアップをお勧めします。

Microsoft Azure への SQL Server マネージド バックアップを使用して SQL Server バックアップを自動化する利点

  • 現在、複数のデータベースのバックアップを自動化するには、バックアップ戦略の策定、カスタム コードの記述、バックアップのスケジュール設定が必要です。 Microsoft Azure への SQL Server マネージド バックアップを使用する場合は、保持期間の設定と保存場所のみを指定する必要があります。 Microsoft Azure への SQL Server マネージド バックアップでは、バックアップのスケジュール、実行、管理が行われます。

    Microsoft Azure への SQL Server マネージド バックアップは、データベース レベルで構成することも、SQL Server インスタンスの既定の設定で構成することもできます。 Microsoft Azure への SQL Server マネージド バックアップを使用したバックアップの自動化には、次の利点があります。

    • インスタンス レベルで既定値を設定すると、その後に作成されたデータベースにこれらの設定を適用できるため、新しいデータベースがバックアップされず、データが失われるリスクを取り除くことができます。

    • Microsoft Azure への SQL Server Managed Backup を有効にし、データベース レベルでリテンション期間を設定するオプションを使用すると、インスタンス レベルで設定された既定の設定をオーバーライドできます。 これにより、特定のデータベースの回復可能性をより細かく制御できます。

  • Microsoft Azure への SQL Server マネージド バックアップでは、データベースのバックアップの種類や頻度を指定する必要はありません。 保持期間を指定すると、Microsoft Azure への SQL Server マネージド バックアップによって、データベースのバックアップの種類と頻度が決定され、バックアップが Azure Blob Storage サービスに格納されます。 SQL Server Managed Backup to Microsoft Azure がバックアップ戦略の作成に使用する一連の条件の詳細については、このトピックの 「コンポーネントと概念 」セクションを参照してください。

  • 暗号化を使用するように構成すると、バックアップ データのセキュリティが強化されます。 詳細については、「バックアップ暗号化」を参照してください。

SQL Server バックアップに Azure Blob Storage を使用する利点の詳細については、Azure Blob Storage サービスを使用した SQL Server のバックアップと復元に関するページを参照してください。

用語と定義

Microsoft Azure への SQL Server マネージド バックアップ

データベースのバックアップを自動化し、保有期間に基づいてバックアップを維持する SQL Server 機能。

保持期間
保持期間は、指定された期間内の特定の時点にデータベースを復旧するためにストレージに保持するバックアップ ファイルを決定するために、Microsoft Azure への SQL Server マネージド バックアップによって使用されます。 サポートされている値は、1 ~ 30 日の範囲です。

ログ チェーン
ログ バックアップの連続シーケンスは、ログ チェーンと呼ばれます。 ログ チェーンは、データベースの完全バックアップから始まります。

要件、概念、およびコンポーネント

権限

Transact-SQL は、Microsoft Azure への SQL Server マネージド バックアップの構成と監視に使用されるメイン インターフェイスです。 一般に、構成ストアド プロシージャを実行するには、db_backupoperatorデータベース ロールにALTER ANY CREDENTIALアクセス許可があり、ストアド プロシージャsp_delete_backuphistoryに対するアクセス許可が必要です。 通常、情報を確認するために使用されるストアド プロシージャと関数には、ストアド プロシージャに対する Execute のアクセス許可と、関数に対する Select が必要です。

[前提条件]

前提条件:

Azure Storage サービス は、SQL Server Managed Backup から Microsoft Azure へのバックアップ ファイルを格納するために使用されます。 Azure ストレージ アカウントを作成するための概念、構造、要件については、「SQL Server Backup to URL」トピックの「主要なコンポーネントと概念の概要」セクションで詳しく説明されています。

SQL 資格情報 は、Azure ストレージ アカウントに対する認証に必要な情報を格納するために使用されます。 SQL 資格情報オブジェクトには、アカウント名とアクセス キー情報が格納されます。 詳細については、「SQL Server Backup to URL」トピックの「主要なコンポーネントと概念の概要」セクションを参照してください。 Azure Storage 認証情報を格納する SQL 資格情報を作成する方法のチュートリアルについては、「 レッスン 2: SQL Server 資格情報を作成する」を参照してください

概念と主要コンポーネント

Microsoft Azure への SQL Server マネージド バックアップは、バックアップ操作を管理する機能です。 msdb データベースにメタデータを格納し、システム ジョブを使用してデータベースとトランザクション ログの完全バックアップを書き込みます。

コンポーネント

Transact-SQL は、Microsoft Azure への SQL Server マネージド バックアップを操作するためのメイン インターフェイスです。 システム ストアド プロシージャは、Microsoft Azure への SQL Server マネージド バックアップの有効化、構成、監視に使用されます。 システム関数は、既存の構成設定、パラメーター値、およびバックアップ ファイル情報を取得するために使用されます。 拡張イベントは、エラーと警告を表示するために使用されます。 アラート メカニズムは、SQL エージェント ジョブと SQL Server ポリシー ベースの管理によって有効になります。 Microsoft Azure への SQL Server マネージド バックアップに関連するオブジェクトとその機能の一覧を次に示します。

PowerShell コマンドレットを使用して、Microsoft Azure への SQL Server マネージド バックアップを構成することもできます。 SQL Server Management Studio では、データベースの復元タスクを使用して、SQL Server マネージド バックアップによって作成されたバックアップを Microsoft Azure に 復元 できます

システム オブジェクト 説明
MSDB SQL Server マネージド バックアップによって作成されたすべてのバックアップのメタデータ、バックアップ履歴を Microsoft Azure に格納します。
smart_admin.set_db_backup (Transact-SQL) データベースの Microsoft Azure への SQL Server マネージド バックアップを有効にして構成するためのシステム ストアド プロシージャ。
smart_admin.set_instance_backup (Transact-SQL) SQL Server インスタンスの Microsoft Azure への SQL Server マネージド バックアップの既定の設定を有効にして構成するためのシステム ストアド プロシージャ。
smart_admin.sp_ バックアップ マスター スイッチ (Transact-SQL) MICROSOFT Azure への SQL Server マネージド バックアップを一時停止および再開するためのシステム ストアド プロシージャ。
smart_admin.sp_set_parameter (Transact-SQL) Microsoft Azure への SQL Server マネージド バックアップの監視を有効にして構成するためのシステム ストアド プロシージャ。 例: 拡張イベントの有効化、通知のメール設定。
smart_admin.sp_backup_on_demand (Transact-SQL) ログ チェーンを壊さずに Microsoft Azure への SQL Server マネージド バックアップを使用できるデータベースのアドホック バックアップを実行するために使用されるシステム ストアド プロシージャ。
smart_admin.fn_backup_db_config (Transact-SQL) データベースまたはインスタンス上のすべてのデータベースについて、現在の SQL Server Managed Backup を Microsoft Azure の状態と構成値に返すシステム関数。
smart_admin.fn_is_master_switch_on (Transact-SQL) マスター スイッチの状態を返すシステム関数。
smart_admin.sp_get_backup_diagnostics (Transact-SQL) 拡張イベントによってログに記録されたイベントを返すために使用されるシステム ストアド プロシージャ。
smart_admin.fn_get_parameter (Transact-SQL) 監視やアラートのメール設定など、バックアップ システム設定の現在の値を返すシステム関数。
smart_admin.fn_available_backups (Transact-SQL) 指定したデータベースまたはインスタンス内のすべてのデータベースで使用可能なバックアップを取得するために使用されるストアド プロシージャ。
smart_admin.fn_get_current_xevent_settings (Transact-SQL) 現在の拡張イベント設定を返すシステム関数。
smart_admin.fn_get_health_status (Transact-SQL) 指定した期間の拡張イベントによってログに記録されたエラーの集計カウントを返すシステム関数。
Azure への SQL Server マネージド バックアップの監視 監視用の拡張イベント、エラーと警告の電子メール通知、MICROSOFT Azure への SQL Server マネージド バックアップの SQL Server ポリシー ベースの管理。

バックアップ戦略

MICROSOFT Azure への SQL Server マネージド バックアップで使用されるバックアップ戦略:

スケジュールされたバックアップの種類とバックアップの頻度は、データベースのワークロードに基づいて決定されます。 保有期間の設定は、バックアップ ファイルをストレージに保持する期間と、保有期間内の特定の時点にデータベースを復旧する機能を決定するために使用されます。

バックアップ コンテナーとファイルの名前付け規則:

Microsoft Azure への SQL Server マネージド バックアップでは、可用性データベースを除くすべてのデータベースの SQL Server インスタンス名を使用して、Azure ストレージ コンテナーに名前を付けます。 可用性データベースの場合、可用性グループ GUID を使用して Azure ストレージ コンテナーの名前を付けます。

非可用性データベースのバックアップ ファイルには、次の規則を使用して名前が付けられます。名前は、データベース名の最初の 40 文字、'-' のないデータベース GUID、およびタイムスタンプを使用して作成されます。 アンダースコア文字は、区切り記号としてセグメント間に挿入されます。 .bak ファイル拡張子は、完全バックアップとログ バックアップの.logに使用されます。 Avaialbility Group データベースの場合、上記のファイル名前付け規則に加えて、可用性グループ データベース GUID はデータベース名の 40 文字の後に追加されます。 可用性グループ データベースの GUID 値は、sys.databases のgroup_database_idの値です。

データベースの完全バックアップ: 次のいずれかに該当する場合、Microsoft Azure エージェントへの SQL Server マネージド バックアップでは、データベースの完全バックアップがスケジュールされます。

  • データベースは、Microsoft Azure への SQL Server マネージド バックアップが初めて有効になっているか、SQL Server Managed Backup to Microsoft Azure がインスタンス レベルの既定の設定で有効になっている場合に有効になります。

  • データベースの最後の完全バックアップ以降のログの増加は、1 GB 以上です。

  • データベースの最後の完全バックアップから 1 週間が経過した最大時間間隔。

  • ログ チェーンが壊れています。 Microsoft Azure への SQL Server マネージド バックアップでは、バックアップ ファイルの最初と最後の LSN を比較することで、ログ チェーンが損なわれるかどうかを定期的に確認します。 何らかの理由でログ チェーンに中断が発生した場合、SQL Server Managed Backup to Microsoft Azure ではデータベースの完全バックアップがスケジュールされます。 ログ チェーンの中断の最も一般的な理由は、Transact-SQL または SQL Server Management Studio のバックアップ タスクを使用して発行されたバックアップ コマンドです。 その他の一般的なシナリオとしては、バックアップ ログ ファイルが誤って削除されたり、バックアップが誤って上書きされたりします。

トランザクション ログ バックアップ: 次のいずれかに該当する場合、Microsoft Azure への SQL Server マネージド バックアップによってログ バックアップがスケジュールされます。

  • ログ バックアップ履歴が見つかりません。 これは通常、Microsoft Azure への SQL Server マネージド バックアップが初めて有効になっている場合に当てはまります。

  • 使用されるトランザクション ログ領域は 5 MB 以上です。

  • 最後のログ バックアップに達してから 2 時間の最大時間間隔。

  • トランザクション ログ バックアップがデータベースの完全バックアップに遅れている場合は常に。 目標は、ログ チェーンを完全バックアップの前に保持することです。

保有期間の設定

バックアップを有効にする場合は、保有期間を日数で設定する必要があります。最小値は 1 日で、最大は 30 日です。

保持期間の設定に基づいて Microsoft Azure への SQL Server マネージド バックアップを実行し、指定した時間内の特定の時点に回復する機能を評価して、保持するバックアップ ファイルを決定し、削除するバックアップ ファイルを特定します。 バックアップのbackup_finish_dateは、保有期間の設定で指定された時間を特定して照合するために使用されます。

重要な考慮事項

SQL Server マネージド バックアップから Microsoft Azure への操作への影響を理解するために重要な考慮事項がいくつかあります。 これらは次のとおりです。

  • データベースの場合、既存のデータベースの完全バックアップ ジョブが実行されている場合、Microsoft Azure への SQL Server Managed Backup は、現在のジョブが完了するのを待ってから、同じデータベースに対して別の完全データベース バックアップを実行します。 同様に、一度に実行できるトランザクション ログ バックアップは 1 つだけです。 ただし、データベースの完全バックアップとトランザクション ログ バックアップは同時に実行できます。 エラーは拡張イベントとしてログに記録されます。

  • 10 を超えるデータベースの同時完全バックアップがスケジュールされている場合は、拡張イベントのデバッグ チャネルを介して警告が発行されます。 その後、Microsoft Azure への SQL Server マネージド バックアップでは、すべてのバックアップがスケジュールされて完了するまで、バックアップが必要な残りのデータベースの優先順位キューが維持されます。

サポートの制限事項

SQL Server 2014 に固有の制限事項を次に示します。

  • Microsoft Azure エージェントへの SQL Server マネージド バックアップでは、データベース バックアップ (完全バックアップとログ バックアップ) のみがサポートされます。 ファイル バックアップの自動化はサポートされていません。

  • Microsoft Azure への SQL Server マネージド バックアップ操作は、現在、Transact-SQL を使用してサポートされています。 監視とトラブルシューティングは、拡張イベントを使用して実行できます。 PowerShell と SMO のサポートは、SQL Server インスタンスのストレージと保持期間の既定の設定を構成し、SQL Server ポリシー ベースの管理ポリシーに基づいてバックアップの状態と全体的な正常性を監視する方法に限定されます。

  • システム データベースはサポートされていません。

  • Azure Blob Storage サービスは、サポートされている唯一のバックアップ ストレージ オプションです。 ディスクまたはテープへのバックアップはサポートされていません。

  • 現時点では、Azure Storage のページ BLOB に許可される最大ファイル サイズは 1 TB です。 1 TB を超えるバックアップ ファイルは失敗します。 このような状況を回避するために、大規模なデータベースでは、Sql Server Managed Backup を Microsoft Azure に設定する前に、圧縮を使用し、バックアップ ファイルのサイズをテストすることをお勧めします。 テストするには、ローカル ディスクにバックアップするか、 BACKUP TO URL Transact-SQL ステートメントを使用して Azure Storage に手動でバックアップします。 詳細については、「 SQL Server の URL へのバックアップ」を参照してください。

  • 復旧モデル: 完全または一括ログモデルに設定されたデータベースのみがサポートされます。 単純復旧モデルに設定されたデータベースはサポートされていません。

  • Microsoft Azure への SQL Server マネージド バックアップには、バックアップ、高可用性、またはディザスター リカバリーをサポートする他のテクノロジで構成されている場合、いくつかの制限があります。 詳細については、「 Azure への SQL Server マネージド バックアップ: 相互運用性と共存」を参照してください

関連タスク

タスクの説明 トピック
データベース用の Microsoft Azure への SQL Server マネージド バックアップの構成、インスタンス レベルでの既定の設定の構成、インスタンスまたはデータベース レベルでの Microsoft Azure への SQL Server マネージド バックアップの無効化、Microsoft Azure への SQL Server マネージド バックアップの一時停止と再起動などの基本的なタスク。 AZURE への SQL Server マネージド バックアップ - 保持とストレージの設定
チュートリアル: Microsoft Azure への SQL Server マネージド バックアップを構成および監視する手順について説明します。 Azure への SQL Server マネージド バックアップの設定
チュートリアル: 可用性グループ内のデータベース用の Microsoft Azure への SQL Server マネージド バックアップを構成および監視する手順。 可用性グループ用の Azure への SQL Server マネージド バックアップの設定
Microsoft Azure への SQL Server マネージド バックアップの監視に関連するツールと概念とタスク。 Azure への SQL Server マネージド バックアップの監視
Microsoft Azure への SQL Server マネージド バックアップのトラブルシューティングを行うツールと手順。 Azure への SQL Server マネージド バックアップのトラブルシューティング

こちらもご覧ください

Azure Blob Storage サービスを使った SQL Server のバックアップと復元
SQL Server の URL へのバックアップ
Azure への SQL Server マネージド バックアップ: 相互運用性と共存
Azure への SQL Server マネージド バックアップのトラブルシューティング