Microsoft SQL Server データベースの保護と復元

このページでは、Microsoft SQL Server データベースのバックアップと復元、バックアップのモニタリングを行う方法について、エンドツーエンドの概要を説明します。

Microsoft SQL Server のバックアップを構成する

Microsoft SQL Server は Windows Server で動作するデータベース システムです。Compute Engine では、SQL Server をアプリケーションのバックエンドの一部として、あるいは柔軟な開発、テスト環境として使用できます。高パフォーマンスの SQL Server インスタンスを作成していない場合は、まず SQL Server を含む VM インスタンスを作成する必要があります。詳細については、高パフォーマンスの SQL Server インスタンスの作成をご覧ください。

バックアップを構成する前提条件

SQL Server データベースのバックアップを開始する前に、このページのセクションを順番に完了する必要があります。このページでは、プロジェクトについて次の詳細を前提としています。

  • VM は 1 つまたは 2 つになります。

  • ソース - 本番環境 - ソース データベースをホストする VM。

  • データベースの仮想コピーをマウントするターゲット(復元、テスト、DR、非本番環境)VM。

  • バックアップと DR サービスがすでにデプロイされており、バックアップ/リカバリ アプライアンスがインストールされています。ネットワーク ファイアウォールは、アプライアンスと SQL Server VM 間の必要な通信を許可するように構成されています。

新しい VM をデプロイする場合でも、既存の VM を使用する場合でも、次のタスクを順番に行う必要があります。

  1. ソース VM とターゲット VM に、バックアップと DR エージェントの設定が必要です。

  2. Windows サーバーで iSCSI サービスを開始し、自動起動に設定する必要があります。

  3. Microsoft SQL Server がインストールされている必要があります。

  4. これが通常のオペレーション手順であり、データベースとログを代替のディスクドライブで実行する場合は、SQL Server にドライブを追加できます。

ソースの Windows Microsoft SQL Server VM を設定する

  1. 移行元 VM にログインします。

    これが Compute Engine インスタンスの場合は、iSCSI イニシエータが起動していること、および再起動時に自動起動が設定されていることを確認する必要があります。これを行うには、次の手順で iSCSI イニシエーター アプリケーションを起動します。

    1. [スタート] メニューをクリックします。

    2. iSCSI initiator」と入力してアプリケーションを探します。

    3. プロセスを起動する。

    4. プロンプトが表示されたら、[はい] をクリックして iSCSI を有効にし、起動時に自動的に開始するように設定します。完了すると、[iSCSI Initiator] ページが表示されます。[OK] をクリックして閉じます。

  2. ブラウザを開き、管理コンソールから Windows バックアップと DR エージェントをダウンロードします。バックアップと DR エージェントをダウンロードする手順は次のとおりです。

    1. 管理コンソールで [管理] プルダウン メニューをクリックし、[アプリケーション] をクリックします。

    2. バックアップ イメージを実行するアプライアンスを右クリックして選択し、[アプライアンスの構成] を選択します。

    3. [アプライアンス構成] ページから [エージェント管理] に移動し、関連するエージェントをダウンロードします。別のホストでこの操作を行い、実行可能ファイルを関連するホストに転送することが必要になる場合があります。

    4. Windows バックアップと DR エージェントの EXE をクリックし、[実行] を選択します。

  3. [はい] を選択してインストールを開始します。

  4. 変更トラッキング ドライバを含むバックアップと DR エージェントをインストールするオプションを選択します。これにより、サイズが 1 GB を超えるデータベースの変更を追跡する追加の Windows サービスがインストールされます。

  5. [次へ] をクリックし、デフォルトの場所にバックアップと DR エージェントをインストールすることに同意します。

  6. [インストール] をクリックしてインストールを開始します。完了したら、[完了] をクリックします。

  7. [サービス] コントロール パネルを開き、バックアップ サービスと DR サービスが 2 つ実行されていることを確認します。有効になっていない場合は、バックアップと DR エージェントを再インストールし、変更ブロック トラッキングを有効にします。

  8. Windows コマンド プロンプトを開き、ディレクトリを C:\Program Files\Google Cloud Backup and DR> に変更します。

  9. 次のコマンドを実行します。

    udsagent.exe secret --reset
    
  10. 省略可: トランザクション ログ バックアップが必要な場合は、データベースの復旧モデルを [完全] に変更する必要があります。デフォルトは [Simple] です。つまり、Backup and DR ログのバックアップ イメージは、バックアップするログを検出しません。これは、構成で選択されている設定である可能性があります。その場合は変更しないでください。Microsoft SQL Server Management Studio にログインし、データベースを右クリックして [プロパティ] を選択します。[オプション] に移動し、[復旧モデル] を [単純] から [完全] に変更します。

  11. トランザクション ログを使用して SQL データベースをバックアップする場合(完全復旧モデル)、または復元時に管理コンソール インターフェースに SQL Server の認証情報を入力する必要がない場合は、次の 2 つの方法があります。

    シームレスなエクスペリエンスを実現するには、次の 2 つの方法のいずれかを使用します。

    • オプション 1: sysadmin ロールを使用する。

      SQL インスタンスのセキュリティの [ログイン] メニューに移動します。NT AUTHORITY\SYSTEM アカウントを右クリックして、[プロパティ] を選択します。[サーバーロール] で sysadmin ロールを選択し、[OK] をクリックします。これにより、Backup and DR エージェントは、追加のユーザー認証を必要とせずに、ログバックアップ イメージとログ復元を実行するための昇格された権限を取得できます。

    • オプション 2: 新しい Windows 管理者アカウント(ドメインまたはローカル OS)を作成する

      • 次のようにアカウントの権限を確認または付与します。

        1. SQL で次の権限を許可します。dbcreator server ロール、db_backup operator database ロール、db_owner database ロール

        2. SQL で次の保護可能なリソースを割り当てます。データベースの表示、データベースの作成、データベースの変更、SQL の接続

      • 次に、C:\Program Files\Google Cloud Backup and DR> のスクリプトにアクセスし、OS 呼び出しを行い、バックアップ イメージが保存されているステージング ディスクを処理できるように、アカウントをローカル Windows 管理者グループに含める必要があります。

      • 最後に、 Google Cloud バックアップと DR エージェント サービスを更新して、このアカウントとして実行し、サービスを再起動します。

Microsoft SQL Server ホストとそのデータベースを管理コンソールに追加する

Microsoft SQL Server データベースを保護するには、まずホストを管理コンソールに追加してから、データベースを検出する必要があります。

  1. 管理コンソールで [管理] プルダウン メニューをクリックし、[ホスト] を選択します。

  2. [+ ホストを追加] をクリックします。

  3. 名前と IP アドレスを入力し、SQL Server VM のプラス記号 (+) をクリックします。

  4. バックアップ/リカバリ アプライアンスを選択し、[追加] をクリックします。

  5. [バックアップと DR エージェントの設定] で、次の操作を行います。

    • バックアップと DR エージェントのポートは通常ポート 5106 です。そうでない場合は、そのポートをここに入力します。

    • ホストの認証情報を追加するのは、SMB 共有をバックアップする場合のみです。

    • ホストとバックアップと DR エージェント間の信頼できる通信を初期化するには、Windows ホストサーバーと Linux ホストサーバーでバックアップと DR エージェントによって生成された秘密鍵を指定する必要があります。過去 2 時間以内に生成された秘密鍵がない場合は、ソースの Windows Microsoft SQL Server VM を設定するの手順に沿って鍵を再設定し、生成された鍵をこのフィールドに貼り付けます。この操作が必要なのは 1 回だけです。ソース Windows Microsoft SQL Server VM を設定するときに生成された秘密鍵を使用できます。

  6. 管理コンソールで、[バックアップと復元]、[バックアップ] の順に移動し、[Microsoft SQL Server] を選択します。新しく追加したサーバを選択し、[次へ] をクリックして、サーバーの SQL インスタンスを検出します。この処理が完了するまでに 1 分ほどかかることがあります。失敗した場合は、バックアップ/リカバリ アプライアンスが TCP ポート 5106 を使用して SQL Server にアクセスできるように、正しいファイアウォール ポリシーが設定されていることを確認する必要があります。手順に沿って、バックアップ / リカバリ アプライアンスとバックアップ / DR エージェントの接続を検証する

    VM の SQL Server インスタンスが表示されます。

バックアップ プランの作成

このセクションでは、バックアップ プラン テンプレートの作成について説明します。テンプレートはバックアップ ポリシーで構成されます。ポリシーでは、バックアップの実行タイミング、バックアップの実行頻度、バックアップ イメージの保持期間(日、週、月、年)、復元先を定義できます。

  1. 管理コンソールで、[バックアップ プラン] プルダウン メニューに移動し、[テンプレート] をクリックします。

  2. [テンプレートを作成] をクリックします。

  3. 新しいテンプレートの名前と説明を入力し、本番環境データを表すアイコンに関連付けられたプラス記号(+)をクリックします。

  4. データベースのスナップショットのポリシー名、1 日間のウィンドウ、保持期間を入力します。この保持期間は通常短く、復元パフォーマンスを確保するために Persistent Disk ストレージのスナップショット プールに保存されます。

  5. [Advanced Policy Settings] をクリックします。

  6. ポリシーの詳細設定にはいくつかのオプションがありますが、ほとんどはデフォルト値のままにする必要があります。SQL Server の場合、最も頻繁に変更される設定と、ベスト プラクティスで推奨される値は次のとおりです。

    • バックアップ後にログを切り捨て/パージする。これを [Truncate] に設定します。

    • データベース ログのバックアップを有効にします。[はい] に設定します。

    • ログ バックアップの保持。7 日間に設定します。

    • ログを複製する。[いいえ] に設定します。

    • ログを OnVault プールに送信する。これを [はい] に設定します。

  7. [変更を保存] をクリックします。選択したら、[ポリシーを更新] をクリックします。

    スナップショット アイコンが色付きで表示されます。

  8. スナップショット アイコンと OnVault アイコンの間にあるプラス記号 (+) をクリックして、OnVault ポリシーを追加します。

  9. データベース バックアップ イメージの OnVault コピーのポリシー名、1 日あたりのウィンドウ、保持期間を入力します。ウィンドウの開始時間は、スナップショット ポリシーで指定された時間と一致する必要があります。この保持期間は通常 30 ~ 90 日間と長く、コピーは Cloud Storage に保存され、パフォーマンスと費用のバランスが適切に保たれます。完了したら、[ポリシーを更新] をクリックします。

  10. [テンプレートを保存] をクリックして、ポリシーと設定を保存します。

    管理コンソールとアプライアンスをデプロイすると、OnVault プールと一致するリソース プロファイルが自動的に作成されます。このリソース プロファイルは、データベースの保護時に使用されます。

  11. データベースを管理コンソールに追加し、必要に応じて保護します。Microsoft SQL Server ホストとそのデータベースを追加するに進みます。

バックアップ プランを適用する

この手順では、管理コンソールでバックアップ ポリシーを構成するで作成したバックアップ プラン ポリシーを、Microsoft SQL Server ホストとそのデータベースを管理コンソールに追加するで検出されたデータベースに適用します。

テンプレートを初めて適用すると、バックアップ プランは直ちに実行され、その後はスケジュールに従って実行されます。スナップショット ポリシーに従ってデータベースのスナップショットを取得し、OnVault ポリシーに従って OnVault プールにコピーして、より長い期間保存します。

  1. バックアップするデータベースがある SQL Server インスタンスを選択し、[次へ] をクリックします。

  2. バックアップ プランを適用するには、インスタンスを選択し、インスタンスリストの上にあるプルダウン メニューから [バックアップ プランを適用] を選択します。オプションを選択すると、さらにプルダウン メニューが表示されます。前に作成したテンプレートプロファイルを選択し、[OK] をクリックします。

  3. バックアップ イメージに含めるか除外するかを個々のデータベースで選択する場合は、[すべてのデータベース] リンクをクリックして、メンバーシップの管理ダイアログを表示します。

    バックアップ イメージのデータベースの包含または除外には、ニーズに応じて包含ルールを選択できます。新しいデータベースの自動包含は、この選択によって制御されます。

    • [すべて含める]、[ユーザーを含める]、[選択した項目を除外] を選択すると、このインスタンスに追加された新しいデータベースが自動的にバックアップされます。

    • [ユーザーを含める] と [選択したデータベースを含める] を選択すると、バックアップするデータベースの静的リストが作成され、手動で操作しない限り、新しいデータベースはバックアップされません。

    推奨される選択肢は [すべて含める] です。

  4. 必要に応じてデータベースの包含ルールを変更して変更を保存したら、[次へ] をクリックします。バックアップ イメージ中の Microsoft SQL Server 固有の動作を決定するアプリケーション設定を変更できるようになりました。デフォルトのままにして [次へ] を選択します。

  5. 概要の表示で [完了] をクリックして、SQL Server データベースの検出と保護を開始します。検出が完了するまで、ブラウザ ウィンドウを更新せずに開いたままにするよう求める確認ページが表示されます。もう一度 [Finish] をクリックします。

    緑色のチェックボックスが表示されたら、続行します。

  6. バックアップ プランが SQL インスタンスに適用されると、テンプレート ポリシー内のスケジュールに基づいてバックアップ イメージが自動的に開始されます。

これで、データベースが正常にバックアップされます。バックアップ スナップショットの開始から数分後、[アプリ マネージャー]、[アプリ] メニューに戻ります。

オンデマンド バックアップ

オンデマンド バックアップは、いつでも手動でトリガーできるバックアップの一種です。オンデマンド バックアップは、特定のイベントの前にデータをバックアップする必要がある場合に便利です。たとえば、更新またはパッチを適用する前に VM をバックアップし、更新プロセス中に問題が発生した場合に以前の状態に復元できるようにします。

マネージド アプリケーションのオンデマンド バックアップを実行するには:

  1. [App Manager] タブをクリックし、プルダウン リストから [アプリケーション] オプションを選択します。[アプリケーション] ページが開きます。
  2. Google Cloud VMware Engine インスタンスを選択し、ページの右下にあるプルダウン リストから [バックアップ構成を管理] をクリックします。
  3. 右側の [ポリシー] で [スナップショット] を選択します。
  4. [ラベル] にラベルを入力し、[今すぐ実行] をクリックします。選択したポリシーに対してオンデマンド バックアップがトリガーされます。

Microsoft SQL Server インスタンスを復元する

復元は、マウント オペレーションを使用してバックアップ イメージからデータを復元するプロセスです。

  1. 管理コンソールで、[App Manager] プルダウン メニューに移動し、[アプリケーション] をクリックします。

  2. バックアップされた SQL インスタンスまたはデータベースを見つけて右クリックし、[アクセス] を選択します。

  3. 構成したバックアップ プランに応じて、タイムライン ランプまたは表形式のビューにキャプチャされた画像が表示されます。スナップショット レーンに加えて、OnVault レーンにもイメージがある場合があります。次に、いずれかの画像を選択し、[マウント] をクリックします。

  4. [マウント] 画面で、データベースをマウントするターゲット ホストを選択します。移行先は、ソースホストに戻すことも(DB に新しい名前を選択)、別のターゲット ホストに移行することもできます。必要に応じて、マウントのラベルを入力することもできます。これは、後でマウントジョブを参照する際に役立ちます。また、[アイテムを選択] 領域で、マウントするデータベースを選択する必要があります。

    次に、マウントするデータベースの名前を指定します。バックアップと DR UDS ホスト エージェント サービスに、ソースの Windows Microsoft SQL Server VM を設定するセクションで指定された権限がある場合は、[ユーザー名] フィールドと [パスワード] フィールドを空白のままにできます。そうでない場合は、この画面で該当する権限を持つ認証情報を入力する必要があります。最後に、[送信] をクリックしてジョブを実行します。マウント ジョブには、環境によっては 1 ~ 5 分かかることがあります。ジョブをモニタリングするには、管理コンソールの [モニタリング] プルダウン メニューに移動し、[ジョブ] をクリックします。

    すべてが成功した場合は、管理コンソールで [App Manager] プルダウン メニューから [Active Mounts] をクリックして、マウントタスクを確認できます。

  5. SQL Server インスタンスに戻り、インスタンスを更新して、新しくマウントされたデータベースを確認します。

  6. データベースが使用可能であることを確認します。[新しいクエリ] を選択し、次の情報を貼り付けます。DevCRM は、マウントされたデータベースの名前に置き換えます。

        USE [DevCRM]
        SELECT * from [Customers];
      

データベースのマウントと移行

マウントして移行すると、マウント オペレーションを使用してデータベースにすばやくアクセスし、実行中にデータベースを復元できます。後で、マウントされたディスクからサーバーの接続ディスクに切り替えるために、短時間の停止が発生します。

  1. 管理コンソールで [App Manager] プルダウン メニューに移動し、[Active Mounts] をクリックします。

  2. データベースを右クリックして、[移行] を選択します。

  3. [頻度] を選択します。これは、マウントされたデータベースの増分更新からサーバーの接続ディスクへの更新までの時間(時間単位)です。このプロセスは、最終的な切り替えが完了するまで繰り返されます。また、コピー スレッド数を 1 ~ 20 の間で構成し、必要に応じて復元コピーの新しいファイルとフォルダのロケーションを選択することもできます。[送信] をクリックしてプロセスを開始します。

  4. 移行ジョブ中、データベースはバックアップ/リカバリ アプライアンスのスナップショット プールからホストされるマウントされたデータベースとして引き続き実行されます。最初の移行ジョブが完了すると、SQL データベースとログファイルのローカル復元コピーが移行先の SQL サーバーに存在します。

  5. 移行を完了します。これにより、データベースがオフラインになり、サーバーに接続されているディスクへの現在のデータの最終的な同期が行われます。復元されたデータベース ファイルを参照するように SQL サーバーが切り替えられ、データベースがオンラインに戻ります。多くの大規模なデータベースでは、このプロセスは変更率に応じて 5 分未満で実行できます。管理コンソールの [App Manager] プルダウン メニューで [Active Mounts] をクリックし、移行を完了するデータベースを選択します。[Finalize migration] を選択します。

  6. 最終処理タスクを確認し、[続行] オプションをクリックします。

    最後に、バックアップと DR は、ファイナライズ タスクの一環として、以前マウントされたディスクもクリーンアップします。クリーンアップ タスクを手動で実行する必要はありません。

モニタリング

Microsoft SQL Server ジョブは、ジョブをモニタリングしてイベントをモニタリングできます。

次のステップ

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