次の方法で共有


Hyperscale の名前付きレプリカの構成と管理

適用対象:Azure SQL データベース

この記事では、Azure SQL Database Hyperscale の名前付きレプリカを構成および管理するためのサンプルを提供します。

Hyperscale の名前付きレプリカを作成する

次のサンプル シナリオでは、Azure portal、T-SQL、PowerShell、または Azure CLI を使用して、データベース WideWorldImporters_NamedReplica の名前付きレプリカ WideWorldImporters を作成する方法について説明します。

次の例では、T-SQL を使用してデータベース WideWorldImporters_NamedReplica の名前付きレプリカ WideWorldImporters が作成されます。 プライマリ レプリカでは、サービス レベル目標 HS_Gen5_4 が使用されますが、名前付きレプリカでは HS_Gen5_2 が使用されます。 どちらも contosoeast という名前の同じ論理サーバーを使用します。

  1. Azure portal で、 すべての Azure SQL リソースを 表示し、名前付きレプリカを作成するデータベースを見つけます。

  2. [SQL Database] ページで、データベースを選択し、[データ管理] までスクロールします。次に、[レプリカ] を選択し、[レプリカの作成] を選択します。

    名前付きレプリカの作成のステップを示すスクリーンショット。

  3. [レプリカの構成][名前付きレプリカ] を選択します。 既存のサーバーを選択するか、名前付きレプリカの新しいサーバーを作成します。 名前付きレプリカ データベース名を入力し、必要に応じて[コンピューティングとストレージ] オプションを構成します。

    名前付きレプリカの構成を示すスクリーンショット。

  4. 必要に応じて、ゾーン冗長 Hyperscale の名前付きレプリカを構成します。 詳細については、「Azure SQL データベース Hyperscale の名前付きレプリカのゾーン冗長」を参照してください。

    1. [データベースの構成] ページで、このデータベースをゾーン冗長にしますか?[はい] を選択します。
    2. 構成に少なくとも 1 つの高可用性セカンダリ レプリカを追加します。
    3. 適用を選択します。
  5. [確認と作成] を選択し、情報を確認し、[作成] を選びます。

  6. 名前付きレプリカのデプロイ プロセスが開始されます。

    名前付きレプリカのデプロイの状態を示すスクリーンショット。

  7. デプロイが完了すると、名前付きレプリカにその状態が表示されます。

    デプロイ後の名前付きレプリカの状態を示すスクリーンショット。

  8. プライマリ データベース ページに戻り、 [レプリカ] を選択します。 名前付きレプリカの一覧が [名前付きレプリカ] の下に表示されます。

    SQL データベースのプライマリと名前付きレプリカを示すスクリーンショット。

名前付きレプリカは、データ移動が伴わないので、ほとんどの場合、ほんの一瞬で作成されます。 名前付きレプリカが利用可能になると、Azure portal やコマンドライン ツール (AZ CLI、PowerShell など) から見えるようになります。 名前付きレプリカは、通常の読み取り専用データベースとして利用できます。

Hyperscale の名前付きレプリカに接続する

Hyperscale の名前付きレプリカに接続するには、そのサーバー名とデータベース名を参照して、その名前付きレプリカの接続文字列を使用する必要があります。 名前付きレプリカは常に読み取り専用であるため、ApplicationIntent=ReadOnly オプションを指定する必要はありません。

プライマリ、HA、名前付きレプリカは、同じ一連のページ サーバー上の同じデータを共有しますが、個々の名前付きレプリカのデータ キャッシュは、HA レプリカの場合と同様、プライマリと同期状態に保たれます。 同期は、プライマリから名前付きレプリカにログ レコードを転送するトランザクション ログ サービスによって維持されます。 ログ レコードが適用される速度は、名前付きレプリカで処理されているワークロードによって異なる場合があり、プライマリ レプリカを基準とするデータの待機時間もレプリカごとに異なる結果となります。

Hyperscale の名前付きレプリカを変更する

名前付きレプリカのサービス レベル目標は、その作成時に、ALTER DATABASE コマンドのほか、サポートされているあらゆる手段 (ポータル、AZ CLI、PowerShell) を用いて定義できます。 名前付きレプリカの作成後にサービス レベル目標を変更する必要が生じた場合は、その名前付きレプリカ自体に対して ALTER DATABASE ... MODIFY コマンドを使用して変更できます。

次の例で、WideWorldImporters_NamedReplicaWideWorldImporters データベースの名前付きレプリカです。

名前付きレプリカ データベース ページを開き、[コンピューティングとストレージ] を選択します。 仮想コアを更新します。

名前付きレプリカのサービス レベル目標の更新を示すスクリーンショット。

Hyperscale の名前付きレプリカを削除する

Hyperscale の名前付きレプリカを削除するには、通常のデータベースと同様に削除します。

名前付きレプリカ データベース ページを開き、Delete オプションを選択します。

名前付きレプリカの削除を示すスクリーンショット。

重要

名前付きレプリカの作成元となったプライマリ レプリカが削除されると、その名前付きレプリカは自動的に削除されます。

名前付きレプリカ構成を最適化する

プライマリ レプリカと同じコンピューティング サイズ (仮想コア) を持つ名前付きレプリカを構成することをお勧めします。 プライマリ レプリカで書き込みワークロードが多い場合、コンピューティング サイズが小さい名前付きレプリカが追いつかない可能性があるため、レプリケーションの遅延が発生する可能性があります。 回復性 SLA を維持するために、プライマリのトランザクション ログ レートを一時的に減らして、セカンダリが追いつくことを可能にすることができます。

プライマリとは異なるコンピューティング サイズ (仮想コア) を持つ名前付きレプリカを作成する場合は、時間の経過と共にプライマリのログ IO レートを監視します。 これにより、レプリケーションの負荷を維持するために名前付きレプリカに必要な最小コンピューティング サイズを見積もるのに役立ちます。 詳細については、次のオブジェクトを検討してください。

  • sys.dm_hs_database_log_rate() 動的管理機能 (DMF) には、ログ レートの低下 (ある場合) を理解するのに役立つ追加の詳細が用意されています。 ログ レコードの適用の背後にある特定のセカンダリ レプリカと、適用されていないトランザクション ログの合計サイズを示すことができます。
  • ログ IO の履歴データを取得するには、 sys.resource_stats ビューを 使用します。
  • 短期的なスパイクをより適切に反映する粒度の高い最近のログ IO データについては、 sys.dm_db_resource_statsを使用します。

詳細については、 Azure SQL Database Hyperscale パフォーマンス診断に関するページを参照してください。