Share via


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

Microsoft Azure へのマネージド バックアップSQL Server、Azure Blob Storage サービスへのSQL Serverバックアップを管理および自動化します。 Microsoft Azure へのマネージド バックアップSQL Server使用されるバックアップ戦略は、データベースの保持期間とトランザクション ワークロードに基づいています。 Microsoft Azure への SQL Server マネージド バックアップ では、指定された保有期間の特定の時点への復元がサポートされています。
SQL Server Microsoft Azure へのマネージド バックアップは、データベース レベルまたはインスタンス レベルで有効にして、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有効にし、データベース レベルで保持期間を設定するオプションを使用すると、インスタンス レベルで設定された既定の設定をオーバーライドできます。 これにより、特定のデータベースの復旧をより細かく制御できます。

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

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

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_backupoperatorALTER ANY CREDENTIAL アクセス許可を持つデータベース ロールと EXECUTE 、ストアド プロシージャ に対する アクセス許可sp_delete_backuphistory必要です。 情報を確認するために使用するストアド プロシージャと関数には、通常、ストアド プロシージャに対する Execute 権限と、関数に対する Select 権限がそれぞれ必要です。

前提条件

前提条件:

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

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

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

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

Components

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

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

システム オブジェクト 説明
MSDB Microsoft Azure への SQL Server マネージド バックアップによって作成されたすべてのバックアップに対するメタデータとバックアップ履歴を格納します。
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_ backup_master_switch (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マネージド バックアップを、データベースの 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 が使用されます。 可用性グループ データベースでは、前のファイル名前付け規則に加え、40 文字のデータベース名の後に可用性グループ データベース GUID が追加されます。 可用性グループ データベース GUID 値は、sys.databases の group_database_id の値です。

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

  • データベースで Microsoft Azure への SQL Server マネージド バックアップ を初めて有効にしたとき、またはインスタンス レベルで既定の設定を使用して Microsoft Azure への SQL Server マネージド バックアップ を有効したとき。

  • 前回のデータベースの完全バックアップ以降にログが 1 GB 以上に拡張されている。

  • 前回のデータベースの完全バックアップ以降に 1 週間という最大期間が経過している。

  • ログ チェーンが分断されている。 Microsoft Azure への SQL Server マネージド バックアップ では、バックアップ ファイルの最初と最後の LSN を比較することで、ログ チェーンが分断されていないかどうかを定期的に確認します。 なんらかの理由でログ チェーンが分断されている場合、 Microsoft Azure への SQL Server マネージド バックアップ はデータベースの完全バックアップをスケジュールします。 ログ チェーンが分断される最も一般的な理由として、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 が使用されます。

重要な考慮事項

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

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

  • 同時に 10 個を超えるデータベースの完全バックアップがスケジュールされている場合、拡張イベントのデバッグ チャネルを通じて警告が発生します。 Microsoft Azure への SQL Server マネージド バックアップ は、バックアップする必要がある残りのデータベースの優先キューを、すべてのバックアップがスケジュールされ完了するまで管理します。

サポートに関する制限事項

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

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

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

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

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

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

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

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

Related Tasks

タスクの説明 トピック
データベースの 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 Backup to URL
Azure への SQL Server マネージド バックアップ:相互運用性と共存
Azure への SQL Server マネージド バックアップのトラブルシューティング