Google Cloud NetApp Volumes ブロック ストレージを使用して SQL Server Always On 可用性グループを構成する

このチュートリアルでは、Internet Small Computer System Interface(iSCSI)プロトコルで Google Cloud NetApp Volumes ブロック ストレージを使用して、Compute Engine 仮想マシン(VM)インスタンスに Microsoft SQL Server Always On 可用性グループをデプロイする方法について説明します。SQL Server ストレージに NetApp Volumes を使用すると、スナップショットやクローニングなどの高度なデータ マネジメント機能を備えた、高パフォーマンスのフルマネージド ストレージ サービスにアクセスできます。

目標

このチュートリアルでは、次のタスクについて説明します。

費用

このチュートリアルでは、課金対象である次の Google Cloudコンポーネントを使用します。

料金計算ツールを使用すると、予想使用量に基づいて費用の見積もりを生成できます。

始める前に

始める前に、次の準備をしてください。

  1. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  2. Verify that billing is enabled for your Google Cloud project.

  3. Compute Engine、Networking、Identity and Access Management、Cloud Storage の管理権限を持つ Google Cloud プロジェクト。
  4. ターゲット リージョンにサブネットがある VPC ネットワーク。
  5. リージョン内に確立された Active Directory サービスと DNS サービス。
  6. コンピュータをドメインに参加させ、RDP を使用して VM にアクセスする権限を持つ Active Directory ユーザー。
  7. VPC ファイアウォール ルールで、iSCSI(TCP 3260)、WSFC(UDP/TCP 3343)、SQL Server(TCP 1433)、SQL Server AG エンドポイント(TCP 5022)、SMB(TCP 445)、RPC(TCP 135、TCP 49152 ~ 65535)のノード間のトラフィックが許可されていることを確認します。
  8. NetApp Volumes API を有効にします。
  9. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    ドメイン アカウントを構成する

    SQL Server 用に 2 つの Active Directory アカウントを構成します。

    • インストール アカウント: VM にログインしてクラスタと可用性グループを構成するためのドメイン管理者権限(DOMAIN\DomainAdmin など)を持つアカウント。
    • サービス アカウント: 両方の SQL Server VM の SQL Server サービスと SQL Agent サービスのユーザー アカウント(DOMAIN\sqlsvc など)。

    SQL Server 用の Compute Engine VM を作成する

    Windows Server 2025 で SQL Server 2022 Enterprise を実行する 2 つの Compute Engine インスタンス(sqlnode1sqlnode2)を作成します。

    1. Google Cloud コンソールで [インスタンスの作成] ページに移動します。

      [インスタンスの作成] に移動

    2. [名前] に「sqlnode1」と入力します。

    3. [マシンの構成] セクションで、[汎用] を選択して次の操作を行います。

      1. [シリーズ] リストで、[N4] を選択します。
      2. [マシンタイプ] リストで、[n4-highmem-8(8vCPU、64 GB メモリ)] を選択します。
    4. VPC を構成したリージョンゾーンを選択します。

    5. [ブートディスク] セクションで [変更] をクリックし、次の操作を行います。

      1. [公開イメージ] タブで、[オペレーティング システム] リストから [Windows Server 上の SQL Server] を選択します。
      2. [バージョン] リストから [Windows Server 2025 Datacenter 上の SQL Server 2022 Enterprise] を選択します。
      3. [ブートディスクの種類] リストで、[Hyperdisk Balanced] を選択します。
      4. [サイズ(GB)] を 50 に設定します。
      5. ブートディスクの構成を保存するには、[選択] をクリックします。
    6. [詳細オプション] セクションを開き、[ネットワーキング] を開きます。

    7. [ネットワーク インターフェース] で、プロジェクトの VPC とサブネットを選択します。

    8. [ネットワーク インターフェース カードのタイプ] リストで、[gVNIC] を選択します。

    9. [ネットワーク サービス ティア] で [プレミアム] を選択します。

    10. [作成] をクリックします。

    11. これらの手順を繰り返して、sqlnode2 という名前の 2 つ目のインスタンスを作成します。

    サーバーをドメインに参加させ、クラスタリングの準備をする

    sqlnode1sqlnode2 の両方で次の手順を実行します。

    1. ローカル管理者アカウントを使用して VM に接続します。
    2. [サーバー マネージャー] で、[ローカル サーバー] を選択します。
    3. [ワークグループ] リンクを選択します。
    4. [コンピュータ名] セクションで、[変更] を選択します。
    5. [ドメイン] チェックボックスをオンにし、ドメイン名(例: cvsdemo.internal)を入力して、[OK] をクリックします。
    6. [Windows セキュリティ] ダイアログで、ドメイン管理者アカウントの認証情報を入力し、[OK] をクリックします。
    7. ドメインのウェルカム メッセージが表示されたら、次の手順を行います。 a. [OK] をクリックします。 b. [閉じる] をクリックし、[今すぐ再起動] を選択します。
    8. VM が再起動したら、ドメイン管理者アカウントを使用して VM に接続します。
    9. VM のローカル Administrators グループに DOMAIN\sqlsvc アカウントを追加します。次の PowerShell コマンドを使用できます。
      Add-LocalGroupMember -Group "Administrators" -Member "DOMAIN\sqlsvc"
      
    10. 管理者として PowerShell を開き、次のコマンドを実行して必要な Windows 機能をインストールします。

      # Install Failover Clustering and tools
      Install-WindowsFeature Failover-Clustering, RSAT-Clustering-PowerShell, RSAT-Clustering-CmdInterface -IncludeAllSubFeature -IncludeManagementTools
      # Install and enable MPIO for iSCSI
      Install-WindowsFeature -Name Multipath-IO
      Enable-MSDSMAutomaticClaim -BusType "iSCSI"
      # Install .NET and other SQL prereqs
      Install-WindowsFeature NET-Framework-45-Core, NET-Framework-45-Features
      Install-WindowsFeature RSAT-AD-PowerShell
      
    11. VM の iSCSI 修飾名(IQN)を取得するには、iscsicpl.exe を実行し、[構成] タブに移動して、[イニシエータ名] をコピーします。または、次の PowerShell コマンドを実行します。

      Get-InitiatorPort | Select-Object NodeAddress
      

      sqlnode1sqlnode2 の両方の IQN を記録します。これらは次のセクションで必要になります。例: iqn.1991-05.com.microsoft:sqlnode1.cvsdemo.internal

    NetApp Volumes ブロック ストレージ ボリュームを作成する

    ホストグループ、ストレージ プール、iSCSI ボリュームを作成する手順は次のとおりです。

    ホストグループの作成

    ホストグループにより、作成したボリュームにアクセスできるのは指定したホスト(SQL Server VM)のみになります。

    • Cloud Shell で、sqlnode1sqlnode2 の IQN を含むホストグループを作成します。

      gcloud netapp host-groups create HOST_GROUP_NAME 
      --location=LOCATION
      --type=ISCSI_INITIATOR
      --hosts=SQLNODE1_IQN,SQLNODE2_IQN
      --os-type=WINDOWS
      --description="SQL Server AG nodes"

      次の情報を置き換えます。

      • HOST_GROUP_NAME: ホストグループの名前(sql-ag-hosts など)。
      • LOCATION: ホストグループのリージョン(us-west1 など)。
      • SQLNODE1_IQN: sqlnode1 の IQN。
      • SQLNODE2_IQN: sqlnode2 の IQN。

    ストレージ プールをプロビジョニングする

    • Cloud Shell で、ボリュームのストレージ プールを作成します。

      gcloud netapp storage-pools create POOL_NAME 
      --project=PROJECT_ID
      --location=ZONE
      --service-level=Flex
      --type=Unified
      --capacity=1024
      --total-throughput=64
      --total-iops=1024
      --network=name=VPC_NAME,psa-range=PSA_RANGE_NAME

      次の情報を置き換えます。

      • POOL_NAME: ストレージ プールの名前(例: sql-pool)。
      • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
      • ZONE: ストレージ プールのゾーン。VM のゾーンと一致する必要があります(例: us-west1-b)。
      • VPC_NAME: VPC ネットワークの名前。
      • PSA_RANGE_NAME: プライベート サービス アクセス接続の割り当てられた範囲の名前。

    ボリュームを作成する

    各ノードの SQL Server データ、ログ、tempdb、バックアップ用に個別のボリュームを作成します。

    • Cloud Shell で、作成する必要があるボリュームごとに次のコマンドを実行します。

      gcloud netapp volumes create VOLUME_NAME 
      --project=PROJECT_ID
      --location=ZONE
      --storage-pool=POOL_NAME
      --capacity=200
      --protocols=ISCSI
      --block-devices="name=VOLUME_NAME,host-groups=projects/PROJECT_ID/locations/LOCATION/hostGroups/HOST_GROUP_NAME,os-type=WINDOWS"
      --snapshot-directory=false

      VOLUME_NAME は、各ボリュームの一意の名前に置き換えます。この 2 ノードのチュートリアルでは、各ノードのデータ、ログ、tempdb、バックアップのボリュームを作成するために、コマンドを 8 回実行する必要があります(sqlnode1-datasqlnode1-logsqlnode1-tempsqlnode1-backupsqlnode2-datasqlnode2-logsqlnode2-tempsqlnode2-backup など)。

    各 SQL VM に iSCSI ボリュームをマウントする

    各 VM(sqlnode1sqlnode2)に対して、その特定のノード用に作成したボリュームをマウントします。

    1. Google Cloud コンソールで、NetApp Volumes の [ボリューム] ページに移動します。

      [ボリューム] に移動

      構成するノードに割り当てられているボリュームを選択します。iSCSI の [ターゲットの詳細] セクションに表示されている [ターゲット ポータル] の IP アドレスをメモします。ボリュームに接続するには、これらのアドレスが必要です。

    2. VM で、管理者として PowerShell を開き、次のコマンドを実行します。例の IP は、ボリュームのターゲット ポータル IP に置き換えます。

      "10.165.128.216","10.165.128.217" | ForEach-Object { New-IscsiTargetPortal -TargetPortalAddress $_ }
      

    3. iscsicpl.exe を実行して、[iSCSI イニシエータのプロパティ] を開きます。

    4. [ターゲット] タブに移動し、リストからボリューム ターゲットのいずれかを選択して、[接続] をクリックします。

    5. [Connect to Target] ダイアログで、[Enable multi-path] を選択して [Advanced] をクリックします。

    6. [詳細設定] ダイアログで、次の操作を行います。

      1. ローカル アダプタ: [Microsoft iSCSI Initiator] を選択します。
      2. イニシエータ IP: VM の IP アドレスを選択します。
      3. ターゲット ポータル IP: 検出したポータル IP のいずれかを選択します。
      4. [OK] をクリックします。
    7. [Connect to Target] ダイアログで、[OK] をクリックします。

    8. VM に関連付けられているすべてのターゲットに対して、接続手順を繰り返します。

    9. iSCSI デバイスの MPIO を構成するには、[コントロール パネル] または [サーバー マネージャー] から [MPIO のプロパティ] を開きます。

    10. [マルチパスの検出] タブをクリックします。

    11. [iSCSI デバイスのサポートを追加] を選択して、[追加] をクリックします。プロンプトが表示されたら、VM を再起動します。

    12. 再起動後、デバイス マネージャーを開き、[ディスク ドライブ] を展開します。iSCSI ディスクがマルチパス デバイスとして表示されます。

    13. ディスクの管理compmgmt.msc)を開きます。新しいディスクごとに、次の操作を行います。

      1. ディスクをオンラインにします。
      2. ディスクを初期化します(GPT)。
      3. 新しいボリュームを作成し、ドライブ文字(データの場合は D、ログの場合は E、バックアップの場合は F、tempdb の場合は G など)を割り当て、割り当てユニット サイズ64K の NTFS を使用してフォーマットします。
    14. 新しくフォーマットされたドライブに SQL Server のディレクトリ構造を作成します。次に例を示します。

      $paths = "D:\MSSQL\DATA","E:\MSSQL\Log","F:\MSSQL\Backup","G:\MSSQL\Temp"
      $paths | ForEach-Object { New-Item -ItemType Directory -Path $_ -Force }
      

    SQL Server を構成する

    それぞれのボリュームをマウントした後、sqlnode1sqlnode2 の両方で次の手順を実行します。

    1. SQL Server 構成マネージャーを開きます。
    2. 左側のペインで [SQL Server Services] を選択します。
    3. 右側のペインで [SQL Server(MSSQLSERVER)] を右クリックし、[プロパティ] を選択して、[ログオン] タブに移動し、[アカウント名] をサービス アカウント(DOMAIN\sqlsvc)に変更します。パスワードを入力して [OK] をクリックします。
    4. SQL Server Agent(MSSQLSERVER)に対して前の手順を繰り返します。
    5. ドメイン管理者アカウントを使用して、SQL Server Management Studio(SSMS)で SQL Server インスタンスに接続します。
    6. サービス アカウントのログインを作成し、必要な権限を付与します。
      USE [master];
      GO
      CREATE LOGIN [DOMAIN\sqlsvc] FROM WINDOWS WITH DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english];
      GO
      ALTER SERVER ROLE [sysadmin] ADD MEMBER [DOMAIN\sqlsvc];
      GO
      
    7. SSMS で次のスクリプトを実行して、デフォルトのデータベース、ログ、バックアップ、tempdb のパスをマウントした iSCSI ボリュームにリダイレクトします。
      USE [master];
      GO
      EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'BackupDirectory', REG_SZ, N'F:\MSSQL\Backup';
      GO
      EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'DefaultData', REG_SZ, N'D:\MSSQL\DATA';
      GO
      EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'DefaultLog', REG_SZ, N'E:\MSSQL\Log';
      GO
      -- Modify model and msdb paths
      ALTER DATABASE model MODIFY FILE (NAME = modeldev, FILENAME = 'D:\MSSQL\DATA\model.mdf');
      ALTER DATABASE model MODIFY FILE (NAME = modellog, FILENAME = 'E:\MSSQL\Log\modellog.ldf');
      ALTER DATABASE msdb  MODIFY FILE (NAME = MSDBData, FILENAME = 'D:\MSSQL\DATA\MSDBData.mdf');
      ALTER DATABASE msdb  MODIFY FILE (NAME = MSDBLog,  FILENAME = 'E:\MSSQL\Log\MSDBLog.ldf');
      GO
      -- Modify tempdb paths
      ALTER DATABASE tempdb MODIFY FILE (NAME = tempdev, FILENAME = 'G:\MSSQL\Temp\tempdb.mdf');
      ALTER DATABASE tempdb MODIFY FILE (NAME = templog, FILENAME = 'G:\MSSQL\Temp\templog.ldf');
      GO
      
    8. SQL Server(MSSQLSERVER)サービスを停止します。
    9. 既存の modelmsdbtempdb ファイルを古い場所(C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA など)からドライブ D:、E:、G: の新しい場所に移動します。
    10. master データベースと ERRORLOG を移動するには:
      1. SQL Server 構成マネージャーを開きます。
      2. [SQL Server(MSSQLSERVER)] を右クリックして [プロパティ] を選択し、[スタートアップ パラメータ] タブに移動します。
      3. C: ドライブを指す既存のパラメータ -d-e-l をそれぞれ選択し、[削除] をクリックします。
      4. 次のパラメータを追加します。各パラメータを追加するたびに [追加] をクリックします。
        • -dD:\MSSQL\DATA\master.mdf
        • -lE:\MSSQL\Log\mastlog.ldf
        • -eE:\MSSQL\Log\ERRORLOG
      5. [OK] をクリックします。
      6. master.mdfmastlog.ldfC:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA から D:\MSSQL\DATA\` andE:\MSSQL\Log` にそれぞれ手動で移動します。
      7. ERRORLOG ファイルを古い場所から `E:\MSSQL\Log` に移動します。
    11. SQL Server(MSSQLSERVER)サービスを開始します。

    Windows Server フェイルオーバー クラスタリングを設定する

    クラスタを作成し、クォーラム監視を構成する手順は次のとおりです。

    Windows ファイアウォールを構成する

    クラスタを作成する前に、各ノードの Windows ファイアウォールで WSFC、SQL Server、iSCSI のトラフィックが許可されていることを確認します。

    sqlnode1sqlnode2 で、管理者として PowerShell を開き、次のコマンドを実行します。

    New-NetFirewallRule -DisplayName 'Failover Clusters (UDP-In)' -Direction Inbound -Protocol UDP -LocalPort 3343 -Action Allow
    New-NetFirewallRule -DisplayName 'Failover Clusters (TCP-In)' -Direction Inbound -Protocol TCP -LocalPort 3343 -Action Allow
    New-NetFirewallRule -DisplayName 'RPC Endpoint Mapper' -Direction Inbound -Protocol TCP -LocalPort 135 -Action Allow
    New-NetFirewallRule -DisplayName 'File and Printer Sharing (SMB-In)' -Direction Inbound -Protocol TCP -LocalPort 445 -Action Allow
    New-NetFirewallRule -DisplayName 'Failover Cluster Manager RPC' -Direction Inbound -Protocol TCP -LocalPort 49152-65535 -Action Allow
    New-NetFirewallRule -DisplayName 'iSCSI' -Direction Inbound -Protocol TCP -LocalPort 3260 -Action Allow
    New-NetFirewallRule -DisplayName 'SQL Server' -Direction Inbound -Protocol TCP -LocalPort 1433 -Action Allow
    New-NetFirewallRule -DisplayName 'SQL Server AG Endpoint' -Direction Inbound -Protocol TCP -LocalPort 5022 -Action Allow
    

    クラスタを作成する

    1. sqlnode1 で、フェイルオーバー クラスタ マネージャーcluadmin.msc)を開きます。
    2. [管理] セクションで、[構成の検証] を選択します。ウィザードに沿って sqlnode1sqlnode2 を検証します。続行する前に、すべてのテストに合格していることを確認してください。
    3. 検証後、[クラスタを作成] を選択します。
    4. クラスタ作成ウィザードで、sqlnode1sqlnode2 をクラスタノードとして追加します。
    5. [クラスタを管理するためのアクセス ポイント] に、クラスタ名sqlcluster など)を入力し、クラスタの静的 IP アドレスを指定します。
    6. 画面の指示に沿ってクラスタを作成します。

    クラスタ クォーラムのファイル共有を作成する

    クラスタ クォーラムの証人として機能するファイル共有を、3 番目の VM(できれば別のゾーン)に作成することをおすすめします。

    1. ファイル共有監視として使用する VM に接続します。
    2. [Server Manager] ウィンドウで、[Tools] > [Computer Management] の順に選択します。
    3. [システム ツール] > [共有フォルダ] を展開し、[共有] を右クリックして、[新しい共有] を選択します。
    4. 共有フォルダの作成ウィザードの手順に沿って操作します。[フォルダ パス] ページで、共有のフォルダを参照または作成します。
    5. [権限] ページで、[権限をカスタマイズ] を選択します。
    6. [追加] をクリックし、クラスタ名オブジェクト(CNO)アカウント(sqlcluster$ など)にフル コントロールを付与します。
    7. ウィザードを完了して共有を作成します。

    クラスタ クォーラムを構成する

    1. sqlnode1 で、フェイルオーバー クラスタ マネージャーを開きます。
    2. クラスタ名を右クリックして、[その他の操作] > [クラスタ クォーラム設定の構成] を選択します。
    3. [Configure Cluster Quorum Wizard] で、[Next] を選択します。
    4. [クォーラム構成オプションの選択] ページで、[クォーラム監視を選択する] を選択し、[次へ] をクリックします。
    5. [クォーラム監視を選択する] ページで、[ファイル共有監視を構成する] を選択し、[次へ] をクリックします。
    6. [ファイル共有パス] に、作成した共有のパス(\\witness-server\quorum など)を入力し、[次へ] をクリックします。
    7. 設定を確認して [次へ] をクリックし、[完了] をクリックします。

    Always On 可用性グループを構成する

    このセクションの手順を両方の SQL Server VM に適用して、可用性グループを有効にして構成します。

    SQL Server で可用性グループを有効にする

    1. SQL Server 構成マネージャーを開きます。
    2. ブラウザ ツリーで [SQL Server Services] を選択します。
    3. [SQL Server(MSSQLSERVER)] を右クリックし、[プロパティ] を選択します。
    4. [Always On High Availability] タブを選択し、[Enable Always On availability groups] を選択します。
    5. [適用]、[OK] の順にクリックします。SQL Server サービスを再起動します。

    可用性グループのデータベースを作成する

    1. SSMS を使用して sqlnode1 に接続します。
    2. [オブジェクト エクスプローラー] ペインで、[データベース] を右クリックし、[新しいデータベース] を選択します。
    3. [データベース名] に「MyDB1」と入力し、[OK] をクリックします。
    4. MyDB1 を右クリックし、[タスク] > [バックアップ] を選択します。完全バックアップを実行します。データベースの復旧モデルが [Full] であることを確認します。
    5. MyDB1 を右クリックし、[タスク] > [バックアップ] を選択します。トランザクション ログのバックアップを実行します。
    6. フル バックアップ ファイルとトランザクション ログ バックアップ ファイルを sqlnode2 にコピーします。
    7. SSMS を使用して sqlnode2 に接続します。[データベース] を右クリックし、[データベースの復元] を選択します。
    8. sqlnode1 から MyDB1 のフル バックアップを復元し、[オプション] ページで RESTORE WITH NORECOVERY を指定します。
    9. sqlnode2MyDB1 を右クリックし、[タスク] > [復元] > [トランザクション ログ] を選択します。トランザクション ログのバックアップを復元し、RESTORE WITH NORECOVERY も指定します。

    可用性グループを作成する

    1. SSMS を使用して sqlnode1 に接続します。
    2. [オブジェクト エクスプローラ] で、[Always On High Availability] を右クリックし、[新しい可用性グループ ウィザード] を選択します。
    3. 可用性グループ名(例: sql-ag)を指定します。
    4. 含めるデータベースとして MyDB1 を選択します。
    5. [レプリカの指定] ページで、[レプリカを追加] をクリックして sqlnode2 に接続します。
    6. 両方のレプリカで自動フェイルオーバーを有効にし、可用性モードを [同期 commit] に、読み取り可能なセカンダリを [はい] に設定します。
    7. [エンドポイント] タブに移動し、ポート 5022 が使用されていることを確認します。
    8. [初期データ同期の選択] ページで、[参加のみ] を選択します。
    9. ウィザードを完了して、可用性グループを作成します。

    可用性グループの DNN リソースを作成する

    ロードバランサの代わりに、分散ネットワーク名(DNN)を使用して、クライアント トラフィックを可用性グループ リスナーにルーティングします。

    1. フェイルオーバー クラスタ マネージャーを開き、[役割] を展開して、可用性グループの役割を選択します。
    2. [リソース] で、可用性グループ リソースを右クリックし、[リソースの追加] > [クライアント アクセス ポイント] を選択します。
    3. DNN リスナーの名前を指定して、ウィザードを完了します。
    4. 新しい DNN リソースをオンラインにします。
    5. デフォルトでは、クラスタは DNN DNS 名をクラスタ内のすべてのノードにバインドします。SQL Server レプリカをホストしていないノードがクラスタにある場合は、DNN の可能な所有者から除外する必要があります。
      1. 作成した DNN リソースを右クリックし、[プロパティ] を選択します。
      2. 可用性グループ レプリカではないノードのチェックボックスをオフにします。
      3. [OK] をクリックします。
    6. DNN リスナー名に接続し、MultiSubnetFailover=True を含めるようにアプリケーションの接続文字列を更新します。

    フェイルオーバーをテストする

    1. SSMS を使用して sqlnode1 または sqlnode2 に接続し、次のクエリを実行して、プライマリ レプリカと、両方のレプリカが同期コミットと自動フェイルオーバー用に構成されていることを確認します。

      -- Check primary replica
      SELECT ag.name AS AG_Name, ar.replica_server_name as PrimaryReplica
      FROM sys.dm_hadr_availability_replica_states AS ars
      JOIN sys.availability_groups AS ag ON ag.group_id = ars.group_id
      JOIN sys.availability_replicas ar ON ar.replica_id = ars.replica_id
      WHERE ars.role_desc = 'PRIMARY';

      -- Check replica configuration SELECT replica_server_name, availability_mode_desc, failover_mode_desc FROM sys.availability_replicas WHERE group_id = (SELECT group_id FROM sys.availability_groups WHERE name = N'sql-ag');

    2. 手動フェイルオーバーを開始するには、SSMS でセカンダリ レプリカに接続し、次のコマンドを実行します。

      ALTER AVAILABILITY GROUP [sql-ag] FAILOVER;
      

    3. フェイルオーバー後、SELECT @@SERVERNAME; を実行するか、DNN リスナーに再接続してサーバー名を確認し、新しいプライマリを確認します。

    4. SSMS で可用性グループのステータスを表示するには、[Always On High Availability] で可用性グループを右クリックし、[Show Dashboard] を選択します。

    クリーンアップ

    プロジェクトを削除する

    このチュートリアルで使用したリソースについて Google Cloud プロジェクトに課金されないようにするには、プロジェクトを削除します。詳細については、プロジェクトのシャットダウンをご覧ください。