Microsoft SQL Server インスタンスとデータベースのバックアップ プランを構成する

バックアップと DR サービスを使用すると、Microsoft SQL Server をバックアップできます。

  • インスタンス

  • Always On 可用性グループのプライマリ データベース

  • VM 内のデータベース

  • システムデータベース

  • ユーザーデータベース

  • 整合性グループ内のデータベースとサポート ファイル

  • 整合性グループの個々のメンバー

始める前に

Microsoft SQL Server データベースを保護する前に、次の操作を行います。

Microsoft SQL Server データベースを保護するためのベスト プラクティス

完全復旧モデルを使用する Microsoft SQL Server データベースの場合は、バックアップ/リカバリ アプライアンスの機能を利用して、1 つのポリシーでデータベースとそのログの両方をバックアップします。データベースとそのログの両方がバックアップされている場合、アプライアンスのユーザー インターフェースを使用してログをロール フォワードすることで、アプライアンスはデータベースを特定の時点に復元できます。データベースとそのログの両方のバックアップは、ポリシー テンプレートの詳細設定を使用して有効にします。

インスタンスと整合性グループでデータベースをバックアップする

バックアップを作成するためにデータベースが休止状態になると、ディスクのスナップショットが作成されてから解放されます。整合性グループとデータベース インスタンスの場合、メンバーは同時に休止状態になり、データの整合性のあるポイントインタイムで解放されます。

SQL インスタンスをバックアップするときに、データベースがインスタンスに追加されると、バックアップと DR バックアップ オペレーションに自動的に含まれます。SQL インスタンスでデータベースをバックアップすると、データベースが定期的に追加および削除される環境に適しています。仮想アプリケーションとして SQL インスタンスにマウントされたデータベースは、インスタンスの他のメンバで保護されません。仮想マウントされたデータベースは別途保護する必要があります。

整合性グループへのメンバーシップは手動で行う必要があります。整合性グループ内のデータベースのバックアップは、データベースの追加や削除が頻繁に行われない環境に適しています。

データベース管理と VM 管理

Microsoft SQL Server は、アプリケーション(データベース、インスタンス、可用性グループ)として保護されているか、VM 全体の一部として保護されているかによって、保護方法が異なります。

ESP ではなくアプリケーションとして保護されている VM の一部として保護されている
バックアップ/リカバリ アプライアンスは、データベース ファイルのみを保護します。 VMware VM 全体は VMware API を使用してバックアップされます。保護された VM 全体の一部である SQL データベースを管理している場合は、[Compute Engine インスタンスの保護と復元] をご覧ください。
バックアップと DR エージェントは、VSS スナップショットを調整し、ログの切り捨てを行います。 VMware API は VSS スナップショットを調整します。ログの切り捨てを行うには、バックアップと DR エージェントを VM にインストールする必要があります。
バックアップと DR エージェントは、名前付きファイルの変更ブロック トラッキングを使用します。これは、大規模なデータベース ファイルに非常に効率的です。 VMware API は変更ブロック トラッキングを提供します。
[詳細と設定] で [バックアップ後にログを切り捨てる] を選択すると、バックアップ ジョブの実行時にトランザクション ログがバックアップされます([ポリシー設定のオーバーライドの詳細設定を構成する](: #SetOverrides) をご覧ください)。 トランザクション ログはバックアップされません。
クライアントはログを使用してロールフォワードできます。 復元中にロールフォワードはサポートされていません。

次の手順でバックアップ プランを適用して、Microsoft SQL Server データベースを保護します。

  1. 管理コンソールで、[App Manager] > [Applications] に移動します。[アプリケーション] ページが開きます。

  2. バックアップする Microsoft SQL Server データベース、インスタンス、AG、または整合性グループを選択し、ページの右下にある [Manage Backup Plan] を選択します。

  3. [バックアップ プランの管理] ウィンドウで、プルダウン リストからテンプレートプロファイルを選択します。

    • テンプレート: アプリケーション データのスナップショットとレプリケーションを定義するポリシーを含む既存のバックアップ テンプレート。

    • プロフィールアプリケーションのデータをスナップショットおよび複製されたイメージとして保存するために使用されるリソースを定義する既存のリソース プロファイル。

  4. バックアップ プランを適用する前に、[バックアップ プラン テンプレートを管理] ウィンドウで次の変更を行います。

    • アプリケーションの設定。アプリケーション タイプ、ホスト名、ホスト IP アドレス、パス、オペレーティング システム、バックアップ/リカバリ アプライアンス、アプライアンス IP アドレスなど、Microsoft SQL に固有の設定。

    • ポリシーのオーバーライド。選択したバックアップ テンプレートで以前に構成された特定のポリシー設定をオーバーライドします。ポリシーのオーバーライドは、特定の状況で役立つ場合や必要な場合があります。ポリシー設定のオーバーライドを許可するようにポリシーのテンプレートが構成されている場合にのみ、ポリシー設定のオーバーライドを実行できます。

  5. データベースを選択するには、[データベース包含ルール] で [編集] をクリックします。[メンバーシップを管理] ダイアログが開きます。

    • [メンバーシップを管理] ダイアログで、包含ルール([すべて]、[システム データベース]、[ユーザー データベース])を割り当ててバックアップするデータベースを選択し、ルールで [選択した項目を含める] と [選択した項目を除外] のどちらを選択するかを選択します。

    • [保存] をクリックすると、[メンバーシップの管理] ダイアログが閉じます。

  6. [適用] をクリックしてバックアップ テンプレートとリソース プロファイルを適用すると、成功メッセージ ボックスが表示されます。

    選択したデータベースが初めて検出されると、データの保護のためにオンデマンド ジョブが可能な限り早く実行されます。その後、バックアップ テンプレートで定義されたオペレーション時間に従ってスケジュールされたジョブが実行されると、新しいデータがバックアップされます。たとえば、10:00(UTC)に、02:00 ~ 05:00(UTC)の運用時間を持つテンプレートを割り当てた場合は、アプライアンスに 02:00(UTC)以降に使用可能なジョブスロットがあるまで、最初のジョブは開始されません。

バックアップ プラン ポリシーでのデータベース ログ保護

データベースのスナップショット ポリシーを作成するときに、ログファイルをバックアップすることもできます。データベース ログのバックアップ頻度は、データベースとは別に定義されます。たとえば、データベースは毎日バックアップされ、ログは 1 時間ごとにバックアップできます。データベース ログのバックアップ頻度は分単位で設定します。ログのバックアップ頻度は、関連するデータベースのバックアップ頻度を超えないようにする必要があります。たとえば、データベースが 24 時間ごとにバックアップされる場合、ログファイルのバックアップ頻度は 24 時間未満にする必要があります。

頻度と保持は、データベース スナップショット ポリシーの [詳細と設定] で定義します。ログのバックアップは、関連するデータベースがバックアップされたときとは関係なく行われます。

ログ保護は、バックアップ プランのスナップショット ポリシーの [Enable Database Log Backup] 詳細設定で有効にします。頻度と保持は、バックアップ プラン ポリシーの [詳細と設定] で定義します。

データベースのログを格納するために必要なスペースは、管理コンソールで自動的に管理されます。管理コンソールでは、一般的なログサイズとその保持期間が評価され、必要に応じて容量が追加されます。データベースのログのストレージ要件を管理するために、スナップショット ポリシーには次の詳細設定があります。

  • Log Backup Retention Period: ログの保持は、スナップショット ポリシーの保持とは別に定義されます。保持期間を別々に設定すると、スナップショット プール(必要に応じて OnVault プール)に保存されているデータベースのコピーとログを併用できます。ログ バックアップを有効にする場合は、ログ保持期間を指定する必要があります。

  • Replicate Logs。データベース ログをリモート バックアップ/リカバリ アプライアンスまたは OnVault プールに複製し、複製されたログの保持範囲内の任意のデータベース イメージにリモートログを使用できます。ログ レプリケーションは、ローカル アプライアンスとリモート アプライアンス間で StreamSnap テクノロジーを使用し、ローカル スナップショット プールからリモート アプライアンスのスナップショット プールに直接転送します。これには、テンプレートに StreamSnap レプリケーション ポリシーが必要です。また、データベースのレプリケーションが 1 回以上正常に完了している必要があります。

  • ログ ステージング ディスクのサイズ増加サイズ。ログが存在するステージング ディスクを自動的に拡張する割合を定義します。この設定はパーセンテージで、有効な値は 5 ~ 100 です。

  • 推定変化率: 1 日あたりの増加率(%)を定義します。これにより、バックアップ/リカバリ アプライアンスは、ログの保持に必要なステージング ディスクのサイズをより正確に計算できます。この設定はパーセンテージで、有効な値は 0 ~ 100 です。

  • データベース ログのバックアップを圧縮する。バックアップ前にログを圧縮するようにソース データベースに指示します。データベース サーバーは、ログバックアップ中にログ圧縮を実行します。

ポリシー設定のオーバーライドの詳細設定を構成する

[バックアップ プランの管理] ウィンドウで [ポリシーのオーバーライド] をクリックして、[ポリシー設定のオーバーライド] ダイアログを表示します。ここでは、選択したバックアップ テンプレートに関連付けられている特定のポリシー設定をオーバーライドできます。完了したら、[変更を保存] をクリックします。

ポリシー オーバーライド設定をデフォルト状態にリセットするには、選択項目の左側にあるチェックボックスをクリックします。[デフォルトに戻すオプションを選択] をクリックして、すべてのポリシー オーバーライド設定をデフォルト状態にリセットします。

次のリストに、SQL Server インスタンス、可用性グループ(AG)、データベース、整合性グループで有効なポリシー設定のオーバーライドについて説明します。

  • マッピングを解除しないでください。ジョブ間でステージング ディスクをマッピングしたままにする: 一時的なステージング ディスクをホストにマッピングし、データ移動中に使用してホストにマッピングされたままにする場合は、このオプションを選択します。LUN は最初のジョブ中にマッピングされ、その後のすべてのジョブで同じマッピングされた LUN が再利用されます。このオプションはデフォルトで選択されています。各ジョブの後にステージング ディスクのマッピングを解除する: このオプションでは、すべてのジョブの終了時にステージング ディスクをオペレーティング システムからマウント解除し(マウントポイントまたはドライブ文字を削除)、ホストからも完全にマッピング解除します。このオプションでは、再マッピングされたステージング ディスクを再マウントする前に再検出する必要があるため、ホストは次のジョブの開始時に SCSI LUN のスキャンを実行する必要があります。

  • Truncate Log After Backup: バックアップのたびにログを切り捨てるかどうかを指定します。有効にすると、アプリケーション関連のログは最近のバックアップまたは現在のバックアップまで切り捨てられます。ログを切り捨てる場合は、ロールフォワード リカバリを有効にするためにトランザクション ログもバックアップする必要があります。

  • 整合性グループ内のオフライン アプリケーションをスキップする。(整合性グループの管理の場合のみ)整合性グループに含まれる使用不可のデータベースを無視するかどうかを指定します。整合性グループを作成して複数のデータベースをまとめてバックアップし、データベース間でデータの整合性を維持します。整合性グループは、同じインスタンスまたはアベイラビリティ グループのデータベースのコレクションです。

    次のオプションがあります。

    • オフライン アプリケーションが見つかった場合にバックアップが失敗する
    • バックアップ中にオフライン アプリをスキップする
  • ステージング ディスクをクラスタ内のすべての ESX ホストにマッピングします。(このオプションは、NFS データストアを使用する場合は無関係です)。ステージング ディスクを VM の ESX ホストにのみマッピングします。ステージング ディスクをクラスタ内のすべての ESX ホストにマッピングします。ステージング ディスクをクラスタ内の 2 つの ESX ホストにマッピングします。

  • SQL Server ユーザーのログインをバックアップします。バックアップ対象となるデータベースへのアクセスが許可されたアカウントの SQL Server インスタンスのログイン記録をバックアップします。データベースが仮想アプリケーションとしてマウントされている場合(アプリケーション対応マウント)、バックアップされたユーザー ログインをターゲット SQL Server インスタンスに復元できます。これにより、元のソース データベースにアクセスできるユーザーが仮想データベースにアクセスできるようになります。選択できるオプションは [Yes] と [No] です。

  • データベース ログのバックアップを有効にします。[Enable Database Log Backup] オプションを使用すると、バックアップ プラン ポリシーで Oracle または Microsoft SQL Server データベースと、関連するすべてのトランザクション ログ ファイルをバックアップできます。ログは、ログ スナップショット ジョブの実行時にバックアップされます。オプションは [はい] または [いいえ] です。[はい] に設定すると、関連するオプションが有効になります。

  • RPO。[Enable Database Log Backup] が [Yes] に設定されている場合、RPO によってデータベース ログのバックアップ頻度が定義されます。頻度は分単位で設定し、データベースのバックアップ間隔を超えないようにする必要があります。設定できる最小値(分単位)は 15 です。

  • Log Backup Retention Period: [Enable Database Log Backup] が [Yes] に設定されている場合、ログの保持はスナップショット ポリシーの保持とは別に定義されます。保持期間を別々に設定すると、スナップショット プールに保存されているデータベースのコピーとともにログを使用できます。ログの保持期間は必須の設定です。

  • Replicate Logs。(StreamSnap テクノロジーを使用)[Enable Database Log Backup] が [Enable] に設定されている場合、[Replicate Logs] の詳細設定で、Microsoft SQL Server データベース トランザクション ログをリモート バックアップ/リカバリ アプライアンスに複製できます。ログ レプリケーション ジョブを実行するには、テンプレートに StreamSnap レプリケーション ポリシーと、リモート バックアップ/リカバリ アプライアンスを指定するリソース プロファイルが必要です。また、データベースのレプリケーションが 1 回以上正常に完了している必要があります。その後、レプリケートされたログの保持期間内の任意のデータベース イメージにリモート サイトのログを使用できます。この機能はデフォルトで有効になっています。

    ログ レプリケーションは、StreamSnap テクノロジーを使用して、ローカル バックアップ / リカバリ アプライアンスとリモート バックアップ / リカバリ アプライアンス間のレプリケーションを実行します。ログ レプリケーションは、ローカル スナップショット プールからリモート アプライアンスのスナップショット プールに直接行われます。

  • [Send Logs to OnVault Pool] をオンにします。[Enable Database Log Backup] が [Enable] に設定されている場合、この設定により、Microsoft SQL Server データベース トランザクション ログを OnVault プールにレプリケートできます。ログ レプリケーション ジョブを実行するには、テンプレートに OnVault ポリシーと、OnVault プールを指定するリソース プロファイルが含まれている必要があります。また、最初に少なくとも 1 つのデータベースをプールに送信する必要があります。保持期間内の任意のデータベース イメージに、リモート サイトのログを使用できます。この機能はデフォルトで有効になっています。

  • ログ ステージング ディスクの増加サイズ。[Enable Database Log Backup] が [Yes] に設定されている場合、[Log Staging Disk Growth Size] で、ログが存在するステージング ディスクを自動的に増やすときに使用する増加を定義します。この設定の範囲は 5 ~ 100% です。

  • 推定変化率: [Enable Database Log Backup] が [Yes] に設定されている場合、この設定で 1 日あたりの変更率(%)を定義します。これにより、バックアップ/リカバリ アプライアンスは、ログの保持に必要なステージング ディスクのサイズをより正確に計算できます。この設定の値は 0 ~ 100 です。

  • データベース ログのバックアップを圧縮する。[Enable Database Log Backup] が [Yes] に設定されている場合、この設定は、管理コンソールでバックアップされる前にログを圧縮するようにソース データベースに指示します。データベース サーバーは、ログバックアップ中にログ圧縮を実行します。オプションは [はい] または [いいえ] です。[はい] に設定すると、[データベース ログのバックアップを圧縮する] オプションが有効になります。

  • スクリプトのタイムアウト。バックアップと DR のエージェントを使用すると、ポリシーの実行前または実行後にアプリケーションのホストで実行されるホストサイド スクリプトを作成できます。ポリシー テンプレートで指定された 4 つのタイムアウトは、ホストサイド スクリプトの 4 つのステージに直接マッピングされます。

    • スクリプト初期化のタイムアウト。管理対象ホスト上のホストサイド スクリプトが初期化されたと見なすまでにポリシーが待機する時間を定義します。デフォルト値は 120 秒です。指定できる範囲は 1 ~ 86, 400 秒(24 時間)です。
    • スクリプト フリーズ タイムアウト。アプリケーションがフリーズし、データのバックアップの準備が整ったとポリシーが想定するまでの待機時間を定義します。デフォルト値は 60 秒です。指定できる範囲は 1 ~ 86, 400 秒です。
    • スクリプトのフリーズ解除のタイムアウト。アプリケーションがフリーズ解除されたと見なすまでにポリシーが待機する時間を定義します。デフォルト値は 60 秒です。指定できる範囲は 1 ~ 86,400 秒です。
    • スクリプトの終了タイムアウト。データのバックアップが完了するまでにポリシーが待機する時間を定義します。デフォルト値は 60 秒です。許容範囲は 1 ~ 86, 400 秒です。
    • スクリプトのレプリケーション後タイムアウト。レプリケーションが完了するまでポリシーが待機する時間を定義します。デフォルト値は 60 秒です。許容範囲は 1 ~ 86, 400 秒です。

Backup and DR Microsoft SQL Server DBA ガイド

このページは、バックアップと DR を使用した Microsoft SQL Server データベースの保護と復元に固有のシリーズのページの 1 つです。詳細については、以下をご覧ください。