次の方法で共有


Azure SQL Database のゾーン冗長性を有効にする

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

このガイドでは、 可用性ゾーンを使用してゾーン冗長性のために Azure SQL Database を更新する方法について説明します。

Azure SQL Database のゾーン冗長性を有効にすると、高可用性が保証され、データベースとエラスティック プールは、アプリケーション ロジックを変更することなく、致命的なデータセンターの停止などの大規模な障害に対して回復性を確保できます。 ゾーンの冗長性が有効になっている場合、データベースは可用性ゾーンを利用して、1 つの Azure リージョン内の複数の物理的な場所にデータをレプリケートします。

Prerequisites

可用性ゾーンのサポートを有効にする前に、Azure SQL Database がサポートされているサービス レベルとデプロイ モデルにあることを確認してください。 可用性ゾーンをサポートするリージョンで、レベルとモデルが提供されていることを確認します。

Service tier Deployment model ゾーン冗長の可用性
Premium 単一のデータベースまたはエラスティック プール 可用性ゾーンをサポートしているすべてのリージョン
Business Critical 単一のデータベースまたはエラスティック プール 可用性ゾーンをサポートしているすべてのリージョン
General Purpose 単一のデータベースまたはエラスティック プール 可用性ゾーンをサポートしている選択されたリージョン
Hyperscale Single database 可用性ゾーンをサポートしているすべてのリージョン

Downtime requirements

Premium、Business Critical、General Purpose サービス レベルでゾーンの再ナンシーを有効にすることは、短時間切断されたオンライン操作です。 標準の一時的なエラーのための再試行ロジックを実装している場合、フェールオーバーに気付くことはありません。

Hyperscale サービス レベルの場合、ゾーン冗長のサポートはデータベースの作成時にのみ指定でき、リソースがプロビジョニングされた後は変更できません。 可用性ゾーンのサポートに移行する場合は、データベースのコピー、ポイントインタイム リストア、または geo レプリカを使用してデータを転送する必要があります。 ターゲット データベースがソースとは異なるリージョンにある場合、またはターゲットのデータベース バックアップ ストレージの冗長性がソース データベースと異なる場合、ダウンタイムは、データ操作のサイズに比例します。

ゾーン冗長性を有効にする (Premium、Business Critical、General Purpose)

Premium、Business Critical、General Purpose のサービス レベルでは、ゾーンの冗長性を有効にできます。

単一データベースまたはエラスティック プールのゾーン冗長性を有効にするには、次の手順に従います。

単一データベースのゾーン冗長を有効にする

  1. Azure portal に移動して、データベースを見つけます。 SQL データベースを検索して選択します。

  2. 目的のデータベースを選択します。

  3. [設定] で、[コンピューティングとストレージ] を選択します。

  4. [このデータベース ゾーンに冗長性を持たせますか?][はい] を選択します。

  5. Select Apply.

  6. Azure portal の上部メニューにある [通知] で操作完了通知を受け取るのを待ちます。

  7. ゾーン冗長が有効になっていることを確認するには、[概要] を選択し、[プロパティ] を選択します。

  8. [可用性] セクションで、ゾーン冗長が [有効] に設定されていることを確認します。

エラスティック プールのゾーン冗長性を有効にする

Important

エラスティック プールのゾーン冗長のサポートを有効にすると、プール ゾーン内のすべてのデータベースが冗長になります。

  1. Azure portal に移動して、目的のエラスティック プールを見つけて選択します。

  2. [設定] で、[コンピューティングとストレージ] を選択します。

  3. [このエラスティック プール ゾーンに冗長性を持たせますか?][はい] を選択します。

  4. Select Save.

  5. Azure portal の上部メニューにある [通知] で操作完了通知を受け取るのを待ちます。

  6. ゾーン冗長が有効になっていることを確認するには、[構成] を選択し、[プールの設定] を選択します。

  7. ゾーン冗長オプションは、[はい] に設定する必要があります。

Redeployment (Hyperscale)

Hyperscale サービス レベルの場合、ゾーン冗長のサポートはデータベースの作成時にのみ指定でき、データベースがプロビジョニングされた後は変更できません。 ゾーン冗長のサポートを受ける場合は、既存の Hyperscale サービス レベルの単一データベースからデータ転送を実行する必要があります。 転送を実行して、ゾーン冗長オプションを有効にするには、データベース コピー、ポイントインタイム リストア、または geo レプリカを使用してクローンを作成する必要があります。

Redeployment considerations

  • 再デプロイには、2 つのモードがあります (オンラインとオフライン):

    • データベース コピーおよびポイントインタイム リストアの方法 (オフライン モード) では、特定の時点でトランザクション上一貫性のあるデータベースを作成できます。 その結果、コピーまたは復元操作が開始された後に実行されたデータ変更は、コピーまたは復元されたデータベースでは使用できません。

    • geo レプリカの方法 (オンライン モード) は、ソースのデータ変更がターゲットに同期される再デプロイです。

  • アプリケーションの接続文字列は、ゾーン冗長データベースを指すよう更新する必要があります。

単一データベースの再デプロイ

Database copy

Azure portal、PowerShell、または Azure CLI を使用してデータベース コピーを作成し、ゾーン冗長を有効にするには、Azure SQL Database でのトランザクション上一貫性のあるデータベースのコピーのコピーに関する記事の手順に従います。

Point-in-time restore

Azure portal、PowerShell、または Azure CLI を使用してポイントインタイム データベース復元を作成し、ゾーン冗長を有効にするには、ポイントインタイム リストアに関する記事の手順に従います。

Geo-replica

データベースの geo レプリカを作成するには:

  1. アクティブ geo レプリケーションとフェールオーバーを構成する (Azure SQL Database)」の Azure portal、PowerShell、または Azure CLI の手順に従って、[コンピューティングとストレージ] でゾーン冗長を有効にします。

  2. レプリカがシード処理され、データのシード処理にかかる時間は、ソース データベースのサイズによって異なります。 Azure portal でシード処理の状態を監視するか、レプリカ データベースで次の TSQL クエリを実行して監視できます。

        SELECT * FROM sys.dm_geo_replication_link_status;
        SELECT * FROM sys.dm_operation_status;
    
  3. データベースのシード処理が完了したら、計画された (データ損失なし) フェールオーバーを実行して、ゾーン冗長ターゲット データベースをプライマリにします。

    • sys.dm_geo_replication_link_status を使用して、geo レプリケーション状態のステータスを表示します。 セカンダリ データベースがトランザクション一貫性のある状態になってる場合、replication_state_descCATCH_UP です。
    • sys.dm_operation_status 動的管理ビューで、シード処理操作が完了したときに state_desc になる COMPLETED を探します。
  4. 新しいゾーン冗長データベースを反映するように、アプリケーションの接続文字列内のサーバー名を更新します。

  5. クリーンアップするには、geo レプリカ リレーションシップから元の非ゾーン冗長データベースを削除することを検討してください。 削除することも選択できます。

ゾーンの冗長性を検証する

Azure PowerShell または Azure CLI または REST API を使用して、データベースの ZoneRedundant プロパティを確認できます。

  1. Azure portal で、Azure SQL Database に移動します。
  2. [設定] で、[コンピューティングとストレージ] を選択します。
  3. [このデータベース ゾーンを冗長にしますか?] 設定の値を確認します。

Disable zone-redundancy

単一データベースまたはエラスティック プールのゾーン冗長を無効にするには、Azure portal、ARM API、PowerShell、または CLI を使用できます。

単一データベースのゾーン冗長を無効にする

  1. Azure portal に移動して、ゾーン冗長を解除するデータベースを見つけて選択します。

  2. [設定] で、[コンピューティングとストレージ] を選択します。

  3. [このデータベース ゾーンに冗長性を持たせますか?][いいえ] を選択します。

  4. Select Save.

エラスティック プールのゾーン冗長を無効にする

  1. Azure portal に移動して、ゾーン冗長を解除するエラスティック プールを見つけて選択します。

  2. [設定] で、[コンピューティングとストレージ] を選択します。

  3. 「このエラスティック プール ゾーンに冗長性を持たせますか?」 のために 「いいえ」 を選択します。

  4. Select Save.

Hyperscale サービス レベルのゾーン冗長を無効にするには、再デプロイ (Hyperscale) に関する記事に記載されている手順を逆にすることができます。