CREATE AVAILABILITY GROUP (Transact-SQL)CREATE AVAILABILITY GROUP (Transact-SQL)

適用対象: ○SQL Server (2012 以降)×Azure SQL Database×Azure SQL Data Warehouse ×Parallel Data WarehouseTHIS TOPIC APPLIES TO: yesSQL Server (starting with 2012)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

SQL ServerSQL Server のインスタンスが Always On 可用性グループAlways On availability groups機能に対して有効である場合、新しい可用性グループを作成します。Creates a new availability group, if the instance of SQL ServerSQL Server is enabled for the Always On 可用性グループAlways On availability groups feature.

重要

新しい可用性グループの初期プライマリ レプリカとして使用する SQL ServerSQL Server のインスタンスで CREATE AVAILABILITY GROUP を実行します。Execute CREATE AVAILABILITY GROUP on the instance of SQL ServerSQL Server that you intend to use as the initial primary replica of your new availability group. このサーバー インスタンスは、Windows Server フェールオーバー クラスタリング (WSFC) ノードに存在している必要があります。This server instance must reside on a Windows Server Failover Clustering (WSFC) node.

トピック リンク アイコン Transact-SQL 構文表記規則Topic link icon Transact-SQL Syntax Conventions

構文Syntax


CREATE AVAILABILITY GROUP group_name  
  { <availability_group_spec> | <distributed_availability_group_spec> }  
[ ; ]  

<availability_group_spec>::=  
  [ WITH (<with_option_spec> [ ,...n ] ) ]  
  FOR [ DATABASE database_name [ ,...n ] ]  
  REPLICA ON <add_replica_spec> [ ,...n ]  
  [ LISTENER ‘dns_name’ ( <listener_option> ) ]  

  <with_option_spec>::=   
      AUTOMATED_BACKUP_PREFERENCE = { PRIMARY | SECONDARY_ONLY| SECONDARY | NONE }  
    | FAILURE_CONDITION_LEVEL  = { 1 | 2 | 3 | 4 | 5 }   
    | HEALTH_CHECK_TIMEOUT = milliseconds  
    | DB_FAILOVER  = { ON | OFF }   
    | DTC_SUPPORT  = { PER_DB | NONE }  
    | BASIC  
    | REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT = { integer }
    | CLUSTER_TYPE = { WSFC | EXTERNAL | NONE } 

  <add_replica_spec>::=  
    <server_instance> WITH  
      (  
        ENDPOINT_URL = 'TCP://system-address:port',  
        AVAILABILITY_MODE = { SYNCHRONOUS_COMMIT | ASYNCHRONOUS_COMMIT | CONFIGURATION_ONLY },  
        FAILOVER_MODE = { AUTOMATIC | MANUAL | EXTERNAL }  
        [ , <add_replica_option> [ ,...n ] ]  
      )   

    <add_replica_option>::=  
        SEEDING_MODE = { AUTOMATIC | MANUAL }  
      | BACKUP_PRIORITY = n  
      | SECONDARY_ROLE ( {   
              [ ALLOW_CONNECTIONS = { NO | READ_ONLY | ALL } ]   
          [,] [ READ_ONLY_ROUTING_URL = 'TCP://system-address:port' ]  
      } )  
      | PRIMARY_ROLE ( {   
              [ ALLOW_CONNECTIONS = { READ_WRITE | ALL } ]   
          [,] [ READ_ONLY_ROUTING_LIST = { ( ‘<server_instance>’ [ ,...n ] ) | NONE } ]  
      } )  
      | SESSION_TIMEOUT = integer  

  <listener_option> ::=  
    {  
        WITH DHCP [ ON ( <network_subnet_option> ) ]  
      | WITH IP ( { ( <ip_address_option> ) } [ , ...n ] ) [ , PORT = listener_port ]  
    }  

    <network_subnet_option> ::=  
      ‘four_part_ipv4_address’, ‘four_part_ipv4_mask’    

    <ip_address_option> ::=  
      {   
          ‘four_part_ipv4_address’, ‘four_part_ipv4_mask’  
        | ‘ipv6_address’  
      }  

<distributed_availability_group_spec>::=  
  WITH (DISTRIBUTED)  
  AVAILABILITY GROUP ON <add_availability_group_spec> [ ,...2 ]  

  <add_availability_group_spec>::=  
  <ag_name> WITH  
    (  
      LISTENER_URL = 'TCP://system-address:port',  
      AVAILABILITY_MODE = { SYNCHRONOUS_COMMIT | ASYNCHRONOUS_COMMIT },  
      FAILOVER_MODE = MANUAL,  
      SEEDING_MODE = { AUTOMATIC | MANUAL }  
    )  

引数Arguments

group_namegroup_name
新しい可用性グループの名前を指定します。Specifies the name of the new availability group. group_name は有効な SQL ServerSQL Server識別子であり、WSFC クラスター内のすべての可用性グループ間で一意である必要があります。group_name must be a valid SQL ServerSQL Serveridentifier, and it must be unique across all availability groups in the WSFC cluster. 可用性グループ名の最大文字数は 128 文字です。The maximum length for an availability group name is 128 characters.

AUTOMATED_BACKUP_PREFERENCE = { PRIMARY | SECONDARY_ONLY| SECONDARY | NONE }AUTOMATED_BACKUP_PREFERENCE = { PRIMARY | SECONDARY_ONLY| SECONDARY | NONE }
バックアップを実行する場所を選択するときにバックアップ ジョブがプライマリ レプリカを評価する方法についての優先設定を指定します。Specifies a preference about how a backup job should evaluate the primary replica when choosing where to perform backups. 自動バックアップの優先設定を考慮して、特定のバックアップ ジョブのスクリプトを作成できます。You can script a given backup job to take the automated backup preference into account. 優先設定は SQL ServerSQL Server によって適用されるものではないので、アドホック バックアップには影響がないことを理解しておくことが重要です。It is important to understand that the preference is not enforced by SQL ServerSQL Server, so it has no impact on ad-hoc backups.

サポートされる値は次のとおりです。The supported values are as follows:

PRIMARYPRIMARY
バックアップを常にプライマリ レプリカで実行することを指定します。Specifies that the backups should always occur on the primary replica. このオプションは、差分バックアップの作成など、バックアップがセカンダリ レプリカで実行されたときにはサポートされないバックアップ機能が必要な場合に役に立ちます。This option is useful if you need backup features, such as creating differential backups, that are not supported when backup is run on a secondary replica.

重要

ログ配布を使用して可用性グループのセカンダリ データベースを準備する場合は、すべてのセカンダリ データベースの準備が完了し、それらを可用性グループに参加させるまで、自動バックアップ設定を [プライマリ] に設定します。If you plan to use log shipping to prepare any secondary databases for an availability group, set the automated backup preference to Primary until all the secondary databases have been prepared and joined to the availability group.

SECONDARY_ONLYSECONDARY_ONLY
バックアップをプライマリ レプリカでは実行しないことを指定します。Specifies that backups should never be performed on the primary replica. オンラインのレプリカがプライマリ レプリカだけの場合、バックアップは実行されません。If the primary replica is the only replica online, the backup should not occur.

SECONDARYSECONDARY
オンラインのレプリカがプライマリ レプリカのみである場合を除き、セカンダリ レプリカでバックアップを実行することを指定します。Specifies that backups should occur on a secondary replica except when the primary replica is the only replica online. オンラインのレプリカがプライマリ レプリカのみである場合は、プライマリ レプリカでバックアップを実行する必要があります。In that case, the backup should occur on the primary replica. これは既定の動作です。This is the default behavior.

なしNONE
バックアップを実行するレプリカを選択するときにバックアップ ジョブが可用性レプリカのロールを無視するように指定します。Specifies that you prefer that backup jobs ignore the role of the availability replicas when choosing the replica to perform backups. バックアップ ジョブは、動作状態および接続状態と組み合わせて、各可用性レプリカのバックアップ優先順位などの他の要素を評価する場合があります。Note backup jobs might evaluate other factors such as backup priority of each availability replica in combination with its operational state and connected state.

重要

AUTOMATED_BACKUP_PREFERENCE 設定の適用はありません。There is no enforcement of the AUTOMATED_BACKUP_PREFERENCE setting. この優先設定の解釈は、特定の可用性グループのデータベースに対するバックアップ ジョブのスクリプトでのロジックに依存します (ある場合)。The interpretation of this preference depends on the logic, if any, that you script into back jobs for the databases in a given availability group. 自動バックアップ設定はアドホック バックアップには影響しません。The automated backup preference setting has no impact on ad-hoc backups. 詳細については、「可用性レプリカでのバックアップの構成 (SQL Server)」を参照してください。For more information, see Configure Backup on Availability Replicas (SQL Server).

注意

既存の可用性グループの自動バックアップ設定を確認するには、sys.availability_groups カタログ ビューの automated_backup_preference 列または automated_backup_preference_desc 列を選択します。To view the automated backup preference of an existing availability group, select the automated_backup_preference or automated_backup_preference_desc column of the sys.availability_groups catalog view. さらに、sys.fn_hadr_backup_is_preferred_replica (Transact-SQL) を使用して、優先されるバックアップ レプリカを決定することができます。Additionally, sys.fn_hadr_backup_is_preferred_replica (Transact-SQL) can be used to determine the preferred backup replica. AUTOMATED_BACKUP_PREFERENCE = NONE の場合でも、この関数は少なくとも 1 つのレプリカに対して 1 を返します。This function returns 1 for at least one of the replicas, even when AUTOMATED_BACKUP_PREFERENCE = NONE.

FAILURE_CONDITION_LEVEL = { 1 | 2 | 3 | 4 | 5 }FAILURE_CONDITION_LEVEL = { 1 | 2 | 3 | 4 | 5 }
この可用性グループの自動フェールオーバーをトリガーするエラー状態を指定します。Specifies what failure conditions trigger an automatic failover for this availability group. FAILURE_CONDITION_LEVEL はグループ レベルで設定されますが、同期コミット可用性モードに構成されている (AVAILIBILITY_MODE = SYNCHRONOUS_COMMIT) 可用性レプリカにのみ適用されます。FAILURE_CONDITION_LEVEL is set at the group level but is relevant only on availability replicas that are configured for synchronous-commit availability mode (AVAILIBILITY_MODE = SYNCHRONOUS_COMMIT). さらに、エラー状態が自動フェールオーバーをトリガーできるのは、プライマリとセカンダリの両方のレプリカが自動フェールオーバー モードに構成されていて (FAILOVER_MODE = AUTOMATIC)、セカンダリ レプリカが現在プライマリ レプリカと同期されている場合だけです。Furthermore, failure conditions can trigger an automatic failover only if both the primary and secondary replicas are configured for automatic failover mode (FAILOVER_MODE = AUTOMATIC) and the secondary replica is currently synchronized with the primary replica.

エラー状態レベルの範囲は 1 ~ 5 で、レベル 1 が最も制限が緩く、レベル 5 が最も制限の厳しい指定です。The failure-condition levels (1–5) range from the least restrictive, level 1, to the most restrictive, level 5. 任意の状態レベルは、それより制限が緩いすべてのレベルを含みます。A given condition level encompasses all the less restrictive levels. したがって、最も厳しい状態レベル 5 にはそれより制限が緩い状態レベル (1 ~ 4) が含まれ、レベル 4 にはレベル 1 ~ 3 が含まれます。以下同様です。Thus, the strictest condition level, 5, includes the four less restrictive condition levels (1-4), level 4 includes levels 1-3, and so forth. 次の表では、各レベルに対応するエラー状態について説明します。The following table describes the failure-condition that corresponds to each level.

レベルLevel エラー状態Failure Condition
@shouldalert1 次のいずれかが発生した場合に自動フェールオーバーを開始する必要があることを指定します。Specifies that an automatic failover should be initiated when any of the following occurs:

- SQL ServerSQL Server サービスがダウンした。-The SQL ServerSQL Server service is down.

-WSFC クラスターに接続するための可用性グループのリースが、サーバー インスタンスから ACK を受信しないために期限切れになった。-The lease of the availability group for connecting to the WSFC cluster expires because no ACK is received from the server instance. 詳細については、「 動作方法: SQL Server Always On のリース タイムアウト」を参照してください。For more information, see How It Works: SQL Server Always On Lease Timeout.
22 次のいずれかが発生した場合に自動フェールオーバーを開始する必要があることを指定します。Specifies that an automatic failover should be initiated when any of the following occurs:

- SQL ServerSQL Server のインスタンスがクラスターに接続されておらず、可用性グループのユーザー指定の HEALTH_CHECK_TIMEOUT しきい値を超えている。-The instance of SQL ServerSQL Server does not connect to cluster, and the user-specified HEALTH_CHECK_TIMEOUT threshold of the availability group is exceeded.

-可用性レプリカがエラー状態である。-The availability replica is in failed state.
33 孤立したスピンロック、重大な書き込みアクセス違反、ダンプが多すぎるなどの重大な SQL ServerSQL Server 内部エラーが発生した場合に自動フェールオーバーを開始する必要があることを指定します。Specifies that an automatic failover should be initiated on critical SQL ServerSQL Server internal errors, such as orphaned spinlocks, serious write-access violations, or too much dumping.

これは既定の動作です。This is the default behavior.
44 SQL ServerSQL Server 内部リソース プールに永続的なメモリ不足の状態があるなど、中程度の SQL ServerSQL Server 内部エラーが発生した場合に自動フェールオーバーを開始する必要があることを指定します。Specifies that an automatic failover should be initiated on moderate SQL ServerSQL Server internal errors, such as a persistent out-of-memory condition in the SQL ServerSQL Server internal resource pool.
55 以下のような任意の修飾エラー状態に対して自動フェールオーバーを開始する必要があることを指定します。Specifies that an automatic failover should be initiated on any qualified failure conditions, including:

-SQL エンジンのワーカー スレッドが枯渇している。-Exhaustion of SQL Engine worker-threads.

-解決不可能なデッドロックが検出された。-Detection of an unsolvable deadlock.

注意

クライアント要求に対して SQL ServerSQL Server のインスタンスが応答しないことは、可用性グループには関係ありません。Lack of response by an instance of SQL ServerSQL Server to client requests is not relevant to availability groups.

FAILURE_CONDITION_LEVEL 値と HEALTH_CHECK_TIMEOUT 値は、特定のグループに対する柔軟なフェールオーバー ポリシーを定義します。The FAILURE_CONDITION_LEVEL and HEALTH_CHECK_TIMEOUT values, define a flexible failover policy for a given group. この柔軟なフェールオーバー ポリシーを使用すると、自動フェールオーバーを実行する条件をきめ細かく制御できます。This flexible failover policy provides you with granular control over what conditions must cause an automatic failover. 詳細については、「可用性グループの自動フェールオーバーのための柔軟なフェールオーバー ポリシー (SQL Server)」を参照してください。For more information, see Flexible Failover Policy for Automatic Failover of an Availability Group (SQL Server).

HEALTH_CHECK_TIMEOUT = millisecondsHEALTH_CHECK_TIMEOUT = milliseconds
sp_server_diagnostics システム ストアド プロシージャによってサーバーの状態情報が返されるのを待機する時間 (ミリ秒単位) を指定します。この時間が経過すると、WSFC クラスターはサーバー インスタンスが速度低下またはハングしているものと見なします。Specifies the wait time (in milliseconds) for the sp_server_diagnostics system stored procedure to return server-health information before the WSFC cluster assumes that the server instance is slow or hung. HEALTH_CHECK_TIMEOUT はグループ レベルで設定されますが、自動フェールオーバーで同期コミット可用性モードが構成されている (AVAILIBILITY_MODE = SYNCHRONOUS_COMMIT) 可用性レプリカにのみ適用されます。HEALTH_CHECK_TIMEOUT is set at the group level but is relevant only on availability replicas that are configured for synchronous-commit availability mode with automatic failover (AVAILIBILITY_MODE = SYNCHRONOUS_COMMIT). さらに、正常性チェック タイムアウトが自動フェールオーバーをトリガーできるのは、プライマリとセカンダリの両方のレプリカが自動フェールオーバー モードに構成されていて (FAILOVER_MODE = AUTOMATIC)、セカンダリ レプリカが現在プライマリ レプリカと同期されている場合だけです。Furthermore, a health-check timeout can trigger an automatic failover only if both the primary and secondary replicas are configured for automatic failover mode (FAILOVER_MODE = AUTOMATIC) and the secondary replica is currently synchronized with the primary replica.

HEALTH_CHECK_TIMEOUT の既定値は 30000 ミリ秒 (30 秒) です。The default HEALTH_CHECK_TIMEOUT value is 30000 milliseconds (30 seconds). 最小値は 15000 ミリ秒 (15 秒)、最大値は 4294967295 ミリ秒です。The minimum value is 15000 milliseconds (15 seconds), and the maximum value is 4294967295 milliseconds.

重要

sp_server_diagnostics では、データベース レベルでの正常性チェックは実行されません。sp_server_diagnostics does not perform health checks at the database level.

DB_FAILOVER = { ON | OFF }DB_FAILOVER = { ON | OFF }
プライマリ レプリカでのデータベースがオフラインのときに実行する応答を指定します。Specifies the response to take when a database on the primary replica is offline. ON に設定すると、可用性グループ内のデータベースのオンライン以外のすべての状態は、自動フェールオーバーをトリガーします。When set to ON, any status other than ONLINE for a database in the availability group triggers an automatic failover. このオプションが OFF に設定されている場合は、インスタンスのヘルスだけが自動フェールオーバーをトリガーに使用されます。When this option is set to OFF, only the health of the instance is used to trigger automatic failover.

この設定の詳細については、「データベース レベルの正常性検出オプション」を参照してください。For more information regarding this setting, see Database Level Health Detection Option

DTC_SUPPORT = { PER_DB | NONE }DTC_SUPPORT = { PER_DB | NONE }
データベースにまたがるトランザクションは分散トランザクション コーディネーター (DTC) ではサポートするかどうかを指定します。Specifies whether cross-database transactions are supported through the distributed transaction coordinator (DTC). データベースにまたがるトランザクションは、 SQL Server 2016 (13.x)SQL Server 2016 (13.x) 以降でのみサポートされます。Cross-database transactions are only supported beginning in SQL Server 2016 (13.x)SQL Server 2016 (13.x). PER_DB では、これらのトランザクションのサポートを可用性グループを作成します。PER_DB creates the availability group with support for these transactions. 詳細については、「Always On 可用性グループとデータベース ミラーリングでの複数データベースにまたがるトランザクションと分散トランザクション (SQL Server)」を参照してください。For more information, see Cross-Database Transactions and Distributed Transactions for Always On Availability Groups and Database Mirroring (SQL Server).

BASICBASIC
基本的な可用性グループを作成するために使用します。Used to create a basic availability group. 基本的な可用性グループは、1 つのデータベースと 2 つのレプリカ (プライマリ レプリカとセカンダリ レプリカ) に制限されます。Basic availability groups are limited to one database and two replicas: a primary replica and one secondary replica. このオプションは、SQL Server Standard Edition の非推奨のデータベース ミラーリング機能に代わるものです。This option is a replacement for the deprecated database mirroring feature on SQL Server Standard Edition. 詳細については、「基本的な可用性グループ (AlwaysOn 可用性グループ)」を参照してください。For more information, see Basic Availability Groups (Always On Availability Groups). 基本的な可用性グループは、 SQL Server 2016 (13.x)SQL Server 2016 (13.x) 以降でサポートされています。Basic availability groups are supported beginning in SQL Server 2016 (13.x)SQL Server 2016 (13.x).

DISTRIBUTEDDISTRIBUTED
分散型可用性グループを作成するために使用します。Used to create a distributed availability group. DISTRIBUTED オプションは、他のいかなるオプションや句とも組み合わせることができません。The DISTRIBUTED option cannot be combined with any other options or clauses. このオプションは、個別の Windows Server フェールオーバー クラスター内の 2 つの可用性グループを接続するために AVAILABILITY GROUP ON パラメーターと共に使用されます。This option is used with the AVAILABILITY GROUP ON parameter to connect two availability groups in separate Windows Server Failover Clusters. 詳細については、「Distributed Availability Groups (Always On Availability Groups) (分散型可用性グループ (Always On 可用性グループ))」を参照してください。For more information, see Distributed Availability Groups (Always On Availability Groups). 分散型可用性グループは、 SQL Server 2016 (13.x)SQL Server 2016 (13.x) 以降でサポートされています。Distributed availability groups are supported beginning in SQL Server 2016 (13.x)SQL Server 2016 (13.x).

REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMITREQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT
SQL Server 2017 で導入されました。Introduced in SQL Server 2017. コミットに必要な同期セカンダリ レプリカの最小数を設定するために使用します。この数を超えると、プライマリがトランザクションをコミットします。Used to set a minimum number of synchronous secondary replicas required to commit before the primary commits a transaction. セカンダリ レプリカの最小数についてトランザクション ログが更新されるまで、SQL Server トランザクションが確実に待機するようになります。Guarantees that SQL Server transaction waits until the transaction logs are updated on the minimum number of secondary replicas. 既定値は 0 であり、SQL Server 2016 と同じように動作します。The default is 0 which gives the same behavior as SQL Server 2016. 最小値は 0 です。The minimum value is 0. 最大値はレプリカの数から 1 を引いた値になります。The maximum value is the number of replicas minus 1. このオプションは、同期コミット モードのレプリカに関連しています。This option relates to replicas in synchronous commit mode. レプリカが同期コミット モードのとき、セカンダリ同期レプリカに対する書き込みがレプリカ データベース トランザクション ログにコミットされるまで、プライマリ レプリカへの書き込みは待機します。When replicas are in synchronous commit mode, writes on the primary replica wait until writes on the secondary synchronous replicas are committed to the replica database transaction log. セカンダリ同期レプリカをホストする SQL Server が応答を停止した場合、プライマリ レプリカをホストする SQL Server はそのセカンダリ レプリカを同期未実行としてマークし、続行します。If a SQL Server that hosts a secondary synchronous replica stops responding, the SQL Server that hosts the primary replica marks that secondary replica as NOT SYNCHRONIZED and proceed. 応答のないデータベースがオンラインに復帰すると、"未同期" 状態になります。プライマリが再度同期可能になるまで、レプリカに異常のマークが付きます。When the unresponsive database comes back online it is in a "not synced" state and the replica marked as unhealthy until the primary can make it synchronous again. この設定により、レプリカの最小数で各トランザクションがコミットされるまで、プライマリ レプリカは確実に待機するようになります。This setting guarantees that the primary replica waits until the minimum number of replicas have committed each transaction. レプリカの最小数が使用できない場合、プライマリのコミットは失敗します。If the minimum number of replicas is not available then commits on the primary fail. クラスター タイプ EXTERNAL の場合、可用性グループがクラスター リソースに追加されると、設定が変更されます。For cluster type EXTERNAL the setting is changed when the availability group is added to a cluster resource. 可用性グループの構成の高可用性とデータの保護」を参照してください。See High availability and data protection for availability group configurations.

CLUSTER_TYPECLUSTER_TYPE
SQL Server 2017 で導入されました。Introduced in SQL Server 2017. 可用性グループが Windows Server フェールオーバー クラスター (WSFC) にあるかどうかを識別するために使用します。Used to identify if the availability group is on a Windows Server Failover Cluster (WSFC). 可用性グループが Windows Server フェールオーバー クラスターのフェールオーバー クラスター インスタンスにある場合は、WSFC に設定します。Set to WSFC when availability group is on a failover cluster instance on a Windows Server failover cluster. クラスターが、Linux Pacemaker などの、Windows Server フェールオーバー クラスターではないクラスター マネージャーで管理されている場合は、EXTERNAL に設定します。Set to EXTERNAL when the cluster is managed by a cluster manager that is not a Windows Server failover cluster, like Linux Pacemaker. 可用性グループがクラスターの調整で WSFC を使用していない場合は、NONE に設定します。Set to NONE when availability group not using WSFC for cluster coordination. たとえば、可用性グループに、クラスター マネージャーがない Linux サーバーが含まれている場合です。For example, when an availability group includes Linux servers with no cluster manager.

DATABASE database_nameDATABASE database_name
ローカル SQL ServerSQL Server インスタンス (つまり可用性グループを作成するサーバー インスタンス) 上の 1 つ以上のユーザー データベースのリストを指定します。Specifies a list of one or more user databases on the local SQL ServerSQL Server instance (that is, the server instance on which you are creating the availability group). 1 つの可用性グループに対して複数のデータベースを指定できますが、各データベースが所属できる可用性グループは 1 つだけです。You can specify multiple databases for an availability group, but each database can belong to only one availability group. 可用性グループでサポートできるデータベースの種類については、「Always On 可用性グループの前提条件、制限事項、推奨事項 (SQL Server)」を参照してください。For information about the type of databases that an availability group can support, see Prerequisites, Restrictions, and Recommendations for Always On Availability Groups (SQL Server). 可用性グループに既に属しているローカル データベースを確認する場合は、sys.databases カタログ ビューで replica_id 列を参照してください。To find out which local databases already belong to an availability group, see the replica_id column in the sys.databases catalog view.

DATABASE 句は省略可能です。The DATABASE clause is optional. これを省略した場合、新しい可用性グループは空になります。If you omit it, the new availability group is empty.

可用性グループを作成したら、セカンダリ レプリカをホストする各サーバー インスタンスに接続して、各セカンダリ データベースを準備し、可用性グループに参加させます。After you have created the availability group, connect to each server instance that hosts a secondary replica and then prepare each secondary database and join it to the availability group. 詳細については、「 AlwaysOn セカンダリ データベース上のデータ移動の開始 (SQL Server)」を参照してください。For more information, see Start Data Movement on an Always On Secondary Database (SQL Server).

注意

後で、現在のプライマリ レプリカをホストするサーバー インスタンス上の適格なデータベースを可用性グループに追加できます。Later, you can add eligible databases on the server instance that hosts the current primary replica to an availability group. また、データベースを可用性グループから削除することもできます。You can also remove a database from an availability group. 詳細については、「 ALTER AVAILABILITY GROUP (Transact-SQL)、または PowerShell を使用して、既存の AlwaysOn 可用性グループにセカンダリ レプリカを追加する方法について説明します。For more information, see ALTER AVAILABILITY GROUP (Transact-SQL).

REPLICA ONREPLICA ON
新しい可用性グループの可用性レプリカをホストする 1 ~ 5 個の SQL Server インスタンスを指定します。Specifies from one to five SQL server instances to host availability replicas in the new availability group. 各レプリカを指定する際には、サーバー インスタンスのアドレスに続けて WITH (...) 句を入力します。Each replica is specified by its server instance address followed by a WITH (…) clause. 少なくとも、初期プライマリ レプリカとなる、ローカル サーバー インスタンスを指定する必要があります。Minimally, you must specify your local server instance, which becomes the initial primary replica. 必要に応じて、セカンダリ レプリカを 4 つまで指定することもできます。Optionally, you can also specify up to four secondary replicas.

すべてのセカンダリ レプリカを可用性グループに参加させる必要があります。You need to join every secondary replica to the availability group. 詳細については、「 ALTER AVAILABILITY GROUP (Transact-SQL)、または PowerShell を使用して、既存の AlwaysOn 可用性グループにセカンダリ レプリカを追加する方法について説明します。For more information, see ALTER AVAILABILITY GROUP (Transact-SQL).

注意

可用性グループの作成時に 4 つ未満のセカンダリ レプリカを指定した場合は、ALTER AVAILABILITY GROUP Transact-SQLTransact-SQL ステートメントを使用して、いつでもセカンダリ レプリカを追加作成できます。If you specify less than four secondary replicas when you create an availability group, you can an additional secondary replica at any time by using the ALTER AVAILABILITY GROUP Transact-SQLTransact-SQL statement. このステートメントを使用すると、既存の可用性グループから任意のセカンダリ レプリカを削除することもできます。You can also use this statement this remove any secondary replica from an existing availability group.

<server_instance> レプリカのホストである SQL ServerSQL Server のインスタンスのアドレスを指定します。<server_instance> Specifies the address of the instance of SQL ServerSQL Server that is the host for an replica. アドレスの形式は、インスタンスが既定のインスタンスか名前付きインスタンスか、およびスタンドアロン インスタンスかフェールオーバー クラスター インスタンス (FCI) かによって、次のように異なります。The address format depends on whether the instance is the default instance or a named instance and whether it is a standalone instance or a failover cluster instance (FCI), as follows:

{ 'system_name[\instance_name]' | 'FCI_network_name[\instance_name]' }{ 'system_name[\instance_name]' | 'FCI_network_name[\instance_name]' }

このアドレスの構成要素は次のとおりです。The components of this address are as follows:

system_namesystem_name
SQL ServerSQL Server のターゲット インスタンスが存在するコンピューター システムの NetBIOS 名です。Is the NetBIOS name of the computer system on which the target instance of SQL ServerSQL Server resides. このコンピューターは WSFC ノードである必要があります。This computer must be a WSFC node.

FCI_network_nameFCI_network_name
SQL ServerSQL Server フェールオーバー クラスターにアクセスするために使用されるネットワーク名です。Is the network name that is used to access a SQL ServerSQL Server failover cluster. サーバー インスタンスが SQL ServerSQL Server フェールオーバー パートナーとして参加している場合に使用します。Use this if the server instance participates as a SQL ServerSQL Server failover partner. FCI サーバー インスタンスで SELECT @@SERVERNAME を実行すると、'FCI_network_name[\instance_name]' という文字列全体 (完全なレプリカ名) が返されます。Executing SELECT @@SERVERNAME on an FCI server instance returns its entire 'FCI_network_name[\instance_name]' string (which is the full replica name).

instance_nameinstance_name
system_name または FCI_network_name によってホストされ、HADR サービスが有効になっている SQL ServerSQL Server のインスタンスの名前です。Is the name of an instance of a SQL ServerSQL Server that is hosted by system_name or FCI_network_name and that has HADR service is enabled. 既定のサーバー インスタンスの場合、 instance_name は省略可能です。For a default server instance, instance_name is optional. インスタンス名では大文字と小文字が区別されません。The instance name is case insensitive. スタンドアロン サーバー インスタンスでは、この名前の値は SELECT @@SERVERNAME を実行したときに返される値と同じです。On a stand-alone server instance, this value name is the same as the value returned by executing SELECT @@SERVERNAME.

\
system_name または FCI_network_name と区別するために、instance_name を指定するときにのみ使用される区切り記号です。Is a separator used only when specifying instance_name, in order to separate it from system_name or FCI_network_name.

WSFC ノードとサーバーのインスタンスの前提条件については、「AlwaysOn 可用性グループの前提条件、制限事項、推奨事項 (SQL Server)」を参照してください。For information about the prerequisites for WSFC nodes and server instances, see Prerequisites, Restrictions, and Recommendations for Always On Availability Groups (SQL Server).

ENDPOINT_URL =' TCP ://system-address:port'ENDPOINT_URL =' TCP ://system-address:port'
現在の REPLICA ON 句で定義している可用性レプリカをホストする SQL ServerSQL Server のインスタンス上のデータベース ミラーリング エンドポイントの URL パスを指定します。Specifies the URL path for the database mirroring endpoint on the instance of SQL ServerSQL Server that hosts the availability replica that you are defining in your current REPLICA ON clause.

ENDPOINT_URL 句は必須です。The ENDPOINT_URL clause is required. 詳細については、「 可用性レプリカを追加または変更する場合のエンドポイント URL の指定 (SQL Server)の構成に関する一般的な問題のトラブルシューティングに役立つ情報を提供します。For more information, see Specify the Endpoint URL When Adding or Modifying an Availability Replica (SQL Server).

' TCP ://system-address:port'' TCP ://system-address:port'
エンドポイントの URL または読み取り専用のルーティングの URL を指定するための URL を指定します。Specifies a URL for specifying an endpoint URL or read-only routing URL. URL のパラメーターは次のとおりです。The URL parameters are as follows:

system-addresssystem-address
システム名、完全修飾ドメイン名では、対象のコンピューター システムを明確に識別する、IP アドレスなどの文字列です。Is a string, such as a system name, a fully qualified domain name, or an IP address, that unambiguously identifies the destination computer system.

portport
パートナー サーバー インスタンスのミラーリング エンドポイントと関連付けられているポート番号 (ENDPOINT_URL オプションの場合)、またはサーバー インスタンスの データベース エンジンDatabase Engineによって使用されるポート番号 (READ_ONLY_ROUTING_URL オプションの場合) です。Is a port number that is associated with the mirroring endpoint of the partner server instance (for the ENDPOINT_URL option) or the port number used by the データベース エンジンDatabase Engine of the server instance (for the READ_ONLY_ROUTING_URL option).

AVAILABILITY_MODE = { {SYNCHRONOUS_COMMIT | ASYNCHRONOUS_COMMIT | CONFIGURATION_ONLY }AVAILABILITY_MODE = { {SYNCHRONOUS_COMMIT | ASYNCHRONOUS_COMMIT | CONFIGURATION_ONLY }
SYNCHRONOUS_COMMIT または ASYNCHRONOUS_COMMIT では、プライマリ レプリカが特定のプライマリ データベースでトランザクションをコミットする前に、ディスクへのログ レコードの書き込みがセカンダリ レプリカで確認されるのを待機する必要があるかどうかを指定します。SYNCHRONOUS_COMMIT or ASYNCHRONOUS_COMMIT specifies whether the primary replica has to wait for the secondary replica to acknowledge the hardening (writing) of the log records to disk before the primary replica can commit the transaction on a given primary database. 同じプライマリ レプリカに対する異なるデータベースでのトランザクションは個別にコミットできます。The transactions on different databases on the same primary replica can commit independently. SQL Server 2017 CU 1 では CONFIGURATION_ONLY が導入されています。SQL Server 2017 CU 1 introduces CONFIGURATION_ONLY. CONFIGURATION_ONLY レプリカは、CLUSTER_TYPE = EXTERNAL または CLUSTER_TYPE = NONE の可用性グループにのみ適用されます。CONFIGURATION_ONLY replica only applies to availability groups with CLUSTER_TYPE = EXTERNAL or CLUSTER_TYPE = NONE.

SYNCHRONOUS_COMMITSYNCHRONOUS_COMMIT
このセカンダリ レプリカでトランザクションが書き込まれるまで、プライマリ レプリカがトランザクションのコミットを待機することを指定します (同期コミット モード)。Specifies that the primary replica waits to commit transactions until they have been hardened on this secondary replica (synchronous-commit mode). SYNCHRONOUS_COMMIT は、プライマリ レプリカを含む最大 3 つのレプリカに対して指定できます。You can specify SYNCHRONOUS_COMMIT for up to three replicas, including the primary replica.

ASYNCHRONOUS_COMMITASYNCHRONOUS_COMMIT
このセカンダリ レプリカでログが書き込まれるのを待たずに、プライマリ レプリカがトランザクションをコミットすることを指定します (同期コミット可用性モード)。Specifies that the primary replica commits transactions without waiting for this secondary replica to harden the log (synchronous-commit availability mode). ASYNCHRONOUS_COMMIT は、プライマリ レプリカを含む最大 5 つの可用性レプリカに対して指定できます。You can specify ASYNCHRONOUS_COMMIT for up to five availability replicas, including the primary replica.

CONFIGURATION_ONLY プライマリ レプリカがこのレプリカの master データベースに可用性グループ構成メタデータを同期コミットするように指定します。CONFIGURATION_ONLY Specifies that the primary replica synchronously commit availability group configuration metadata to the master database on this replica. このレプリカにはユーザー データは含まれません。The replica will not contain user data. このオプションの特徴:This option:

  • Express Edition など、SQL Server のあらゆるエディションでホストできます。Can be hosted on any edition of SQL Server, including Express Edition.
  • CONFIGURATION_ONLY レプリカのデータ ミラーリング エンドポイントの型を WITNESS にする必要があります。Requires the data mirroring endpoint of the CONFIGURATION_ONLY replica to be type WITNESS.
  • 変更できません。Can not be altered.
  • CLUSTER_TYPE = WSFC の場合は無効です。Is not valid when CLUSTER_TYPE = WSFC.

    詳細については、構成のみのレプリカに関するページを参照してください。For more information, see Configuration only replica.

    AVAILABILITY_MODE 句は必須です。The AVAILABILITY_MODE clause is required. 詳細については、「可用性モード (Always On 可用性グループ)」を参照してください。For more information, see Availability Modes (Always On Availability Groups).

    FAILOVER_MODE = { AUTOMATIC | MANUAL }FAILOVER_MODE = { AUTOMATIC | MANUAL }
    定義している可用性レプリカのフェールオーバー モードを指定します。Specifies the failover mode of the availability replica that you are defining.

    AUTOMATICAUTOMATIC
    自動フェールオーバーを有効にします。Enables automatic failover. このオプションは、AVAILABILITY_MODE = SYNCHRONOUS_COMMIT も指定した場合にのみサポートされます。This option is supported only if you also specify AVAILABILITY_MODE = SYNCHRONOUS_COMMIT. AUTOMATIC は、プライマリ レプリカを含む 2 つの可用性レプリカに対して指定できます。You can specify AUTOMATIC for two availability replicas, including the primary replica.

注意

SQL Server フェールオーバー クラスター インスタンス (FCI) は可用性グループによる自動フェールオーバーをサポートしないため、FCI によってホストされる可用性レプリカは手動フェールオーバー用にのみ構成できます。SQL Server Failover Cluster Instances (FCIs) do not support automatic failover by availability groups, so any availability replica that is hosted by an FCI can only be configured for manual failover.

MANUALMANUAL
データベース管理者による計画的な手動フェールオーバーまたは強制手動フェールオーバー (通常は強制フェールオーバーと呼ばれる) を有効にします。Enables planned manual failover or forced manual failover (typically called forced failover) by the database administrator.

FAILOVER_MODE 句は必須です。The FAILOVER_MODE clause is required. 2 種類の手動フェールオーバー、つまりデータ損失のない手動フェールオーバーと強制フェールオーバー (データ損失の可能性あり) は、異なる条件の下でサポートされます。The two types of manual failover, manual failover without data loss and forced failover (with possible data loss), are supported under different conditions. 詳細については、「 フェールオーバーとフェールオーバー モード (AlwaysOn 可用性グループ)、または PowerShell を使用して、AlwaysOn 可用性グループ上で計画的な手動フェールオーバーまたは強制手動フェールオーバー (強制フェールオーバー) を実行する方法について説明します。For more information, see Failover and Failover Modes (Always On Availability Groups).

SEEDING_MODE = { AUTOMATIC | MANUAL }SEEDING_MODE = { AUTOMATIC | MANUAL }
セカンダリ レプリカの初回シード処理方法を指定します。Specifies how the secondary replica is initially seeded.

AUTOMATICAUTOMATIC
直接シード処理を有効にします。Enables direct seeding. この方法では、ネットワーク上でセカンダリ レプリカがシード処理されます。This method seeds the secondary replica over the network. この方法では、レプリカでプライマリ データベースのコピーをバックアップしたり、復元したりする必要がありません。This method does not require you to backup and restore a copy of the primary database on the replica.

注意

直接シード処理の場合、セカンダリ レプリカごとにデータベース作成を許可する必要があります。GRANT CREATE ANY DATABASE オプションを指定し、ALTER AVAILABILITY GROUP を呼び出してください。For direct seeding, you must allow database creation on each secondary replica by calling ALTER AVAILABILITY GROUP with the GRANT CREATE ANY DATABASE option.

MANUALMANUAL
手動シード処理を指定します (既定)。Specifies manual seeding (default). この方法では、プライマリ レプリカでデータベースのバックアップを作成し、セカンダリ レプリカでそのバックアップを手動で復元する必要があります。This method requires you to create a backup of the database on the primary replica and manually restore that backup on the secondary replica.

BACKUP_PRIORITY = nBACKUP_PRIORITY = n
同じ可用性グループ内の他のレプリカと比較して、このレプリカでバックアップを実行する優先順位を指定します。Specifies your priority for performing backups on this replica relative to the other replicas in the same availability group. 値は 0 ~ 100 の範囲の整数です。The value is an integer in the range of 0..100. これらの値には次の意味があります。These values have the following meanings:

  • 1 ~ 100 は、その可用性レプリカがバックアップの実行に対して選択される可能性があることを示します。1..100 indicates that the availability replica could be chosen for performing backups. 1 は最も低い優先順位を示し、100 は最も高い優先順位を示します。1 indicates the lowest priority, and 100 indicates the highest priority. たとえば、BACKUP_PRIORITY = 1 の場合、現在使用可能な可用性レプリカにそれより高い優先順位のものがない場合にのみ、その可用性レプリカがバックアップの実行に対して選択されます。If BACKUP_PRIORITY = 1, the availability replica would be chosen for performing backups only if no higher priority availability replicas are currently available.

  • 0 は、この可用性レプリカがバックアップの実行対象でないことを示します。0 indicates that this availability replica is not for performing backups. これは、たとえば、バックアップをフェールオーバーすることがないリモート可用性レプリカのような場合に便利です。This is useful, for example, for a remote availability replica to which you never want backups to fail over.

    詳細については、「 アクティブなセカンダリ: セカンダリ レプリカでのバックアップ (Always On 可用性グループ)」を参照してください。For more information, see Active Secondaries: Backup on Secondary Replicas (Always On Availability Groups).

    SECONDARY_ROLE (SECONDARY_ROLE ( ))
    この可用性レプリカが現在セカンダリ ロールを所有している場合に (つまり、セカンダリ レプリカである場合は常に) 有効であるロール固有の設定を指定します。Specifies role-specific settings that take effect if this availability replica currently owns the secondary role (that is, whenever it is a secondary replica). かっこの中では、いずれか一方または両方のセカンダリ ロール オプションを指定します。Within the parentheses, specify either or both secondary-role options. 両方を指定する場合は、コンマ区切りのリストを使用します。If you specify both, use a comma-separated list.

    セカンダリ ロール オプションは次のとおりです。The secondary role options are as follows:

    ALLOW_CONNECTIONS = { NO | READ_ONLY | ALL }ALLOW_CONNECTIONS = { NO | READ_ONLY | ALL }
    セカンダリ ロールを実行している (つまりセカンダリ レプリカとして機能している) 特定の可用性レプリカのデータベースがクライアントから接続を受け入れることができるかどうかを指定します。以下のいずれかになります。Specifies whether the databases of a given availability replica that is performing the secondary role (that is, is acting as a secondary replica) can accept connections from clients, one of:

    いいえNO
    このレプリカのセカンダリ データベースに対するユーザー接続は禁止されます。No user connections are allowed to secondary databases of this replica. 読み取りアクセスで利用することはできません。They are not available for read access. これは既定の動作です。This is the default behavior.

    READ_ONLYREAD_ONLY
    Application Intent プロパティが ReadOnly に設定されている場合に限り、セカンダリ レプリカのデータベースに対する接続が許可されます。Only connections are allowed to the databases in the secondary replica where the Application Intent property is set to ReadOnly. このプロパティの詳細については、「 Using Connection String Keywords with SQL Server Native Client」を参照してください。For more information about this property, see Using Connection String Keywords with SQL Server Native Client.

    ALLALL
    読み取り専用アクセスに限り、セカンダリ レプリカのデータベースに対するすべての接続が許可されます。All connections are allowed to the databases in the secondary replica for read-only access.

    詳細については、「アクティブなセカンダリ: 読み取り可能なセカンダリ レプリカ (Always On 可用性グループ)」を参照してください。For more information, see Active Secondaries: Readable Secondary Replicas (Always On Availability Groups).

    READ_ONLY_ROUTING_URL =' TCP ://system-address:port'READ_ONLY_ROUTING_URL =' TCP ://system-address:port'
    読み取りを目的とした接続要求をこの可用性レプリカにルーティングするために使用する URL を指定します。Specifies the URL to be used for routing read-intent connection requests to this availability replica. これは、SQL Server データベース エンジンがリッスンしている URL です。This is the URL on which the SQL Server Database Engine listens. 通常、SQL Server データベース エンジンの既定のインスタンスは、TCP ポート 1433 でリッスンします。Typically, the default instance of the SQL Server Database Engine listens on TCP port 1433.

    名前付きインスタンスの場合は、sys.dm_tcp_listener_states 動的管理ビューの port 列と type_desc 列をクエリすることで、ポート番号を取得できます。For a named instance, you can obtain the port number by querying the port and type_desc columns of the sys.dm_tcp_listener_states dynamic management view. サーバー インスタンスでは Transact-SQL リスナーを使用します (type_desc='TSQL')。The server instance uses the Transact-SQL listener (type_desc='TSQL').

    レプリカの読み取り専用ルーティング URL の計算の詳細については、「AlwaysOn の read_only_routing_url の計算」を参照してください。For more information about calculating the read-only routing URL for a replica, see Calculating read_only_routing_url for Always On.

注意

SQL ServerSQL Server の名前付きインスタンスの場合は、特定のポートを使用するように Transact-SQL リスナーを構成する必要があります。For a named instance of SQL ServerSQL Server, the Transact-SQL listener should be configured to use a specific port. 詳細については、「特定の TCP ポートで受信待ちするようにサーバーを構成する方法 (SQL Server 構成マネージャー)」を参照してください。For more information, see Configure a Server to Listen on a Specific TCP Port (SQL Server Configuration Manager).

PRIMARY_ROLE (PRIMARY_ROLE ( ))
この可用性レプリカが現在プライマリ ロールを所有している場合に (つまり、プライマリ レプリカである場合は常に) 有効であるロール固有の設定を指定します。Specifies role-specific settings that take effect if this availability replica currently owns the primary role (that is, whenever it is the primary replica). かっこの中では、いずれか一方または両方のプライマリ ロール オプションを指定します。Within the parentheses, specify either or both primary-role options. 両方を指定する場合は、コンマ区切りのリストを使用します。If you specify both, use a comma-separated list.

プライマリ ロール オプションは次のとおりです。The primary role options are as follows:

ALLOW_CONNECTIONS = { READ_WRITE | ALL }ALLOW_CONNECTIONS = { READ_WRITE | ALL }
プライマリ ロールを実行している (つまりプライマリ レプリカとして機能している) 特定の可用性レプリカのデータベースが受け入れることのできるクライアントからの接続の種類を指定します。以下のいずれかになります。Specifies the type of connection that the databases of a given availability replica that is performing the primary role (that is, is acting as a primary replica) can accept from clients, one of:

READ_WRITEREAD_WRITE
Application Intent 接続プロパティが ReadOnly に設定されている接続は許可されません。Connections where the Application Intent connection property is set to ReadOnly are disallowed. Application Intent プロパティが ReadWrite に設定されている場合、または Application Intent 接続プロパティが設定されていない場合は、接続が許可されます。When the Application Intent property is set to ReadWrite or the Application Intent connection property is not set, the connection is allowed. "アプリケーションの目的" 接続プロパティの詳細については、「 Using Connection String Keywords with SQL Server Native Client」を参照してください。For more information about Application Intent connection property, see Using Connection String Keywords with SQL Server Native Client.

ALLALL
プライマリ レプリカのデータベースに対するすべての接続が許可されます。All connections are allowed to the databases in the primary replica. これは既定の動作です。This is the default behavior.

READ_ONLY_ROUTING_LIST = { (‘<server_instance> [ ,...n ] ) | NONE } セカンダリ ロールで実行されている場合は、次の要件を満たしている、この可用性グループの可用性レプリカをホストするサーバー インスタンスのコンマ区切りリストを指定します。READ_ONLY_ROUTING_LIST = { (‘<server_instance> [ ,...n ] ) | NONE } Specifies a comma-separated list of server instances that host availability replicas for this availability group that meet the following requirements when running under the secondary role:

  • すべての接続または読み取り専用の接続を許可するように構成されていること (前に示した SECONDARY_ROLE オプションの ALLOW_CONNECTIONS 引数を参照)。Be configured to allow all connections or read-only connections (see the ALLOW_CONNECTIONS argument of the SECONDARY_ROLE option, above).

  • 読み取り専用ルーティングの URL が定義されていること (前に示した SECONDARY_ROLE オプションの READ_ONLY_ROUTING_URL 引数を参照)。Have their read-only routing URL defined (see the READ_ONLY_ROUTING_URL argument of the SECONDARY_ROLE option, above).

    READ_ONLY_ROUTING_LIST の値は次のとおりです。The READ_ONLY_ROUTING_LIST values are as follows:

    <server_instance> セカンダリ ロールで実行するときに読み取り可能なセカンダリ レプリカであるレプリカのホストである SQL ServerSQL Server のインスタンスのアドレスを指定します。<server_instance> Specifies the address of the instance of SQL ServerSQL Server that is the host for a replica that is a readable secondary replica when running under the secondary role.

    読み取り可能なセカンダリ レプリカをホストする可能性があるすべてのサーバー インスタンスを指定するには、コンマ区切りリストを使用します。Use a comma-separated list to specify all the server instances that might host a readable secondary replica. 読み取り専用のルーティングは、リストで指定されているサーバー インスタンスの順序に従います。Read-only routing follows the order in which server instances are specified in the list. 一覧の最後に、このサーバー インスタンスを配置することで、レプリカの読み取り専用ルーティング リスト、レプリカのホスト サーバーのインスタンスを含める場合は通常、お勧め、1 つは、使用可能な場合に、読み取りを目的とした接続がセカンダリ レプリカに移動できるようにします。If you include a replica's host server instance on the replica's read-only routing list, placing this server instance at the end of the list is typically a good practice, so that read-intent connections go to a secondary replica, if one is available.

    SQL Server 2016 (13.x)SQL Server 2016 (13.x) 以降では、読み取り可能なセカンダリ レプリカ間で読み取りを目的とした要求の負荷を分散することができます。Beginning with SQL Server 2016 (13.x)SQL Server 2016 (13.x), you can load-balance read-intent requests across readable secondary replicas. これは、読み取り専用ルーティング リスト内のかっこの入れ子になったセットで、レプリカを配置することで指定します。You specify this by placing the replicas in a nested set of parentheses within the read-only routing list. 詳細と例については、「読み取り専用レプリカ間の負荷分散の構成」を参照してください。For more information and examples, see Configure load-balancing across read-only replicas.

    なしNONE
    この可用性レプリカがプライマリ レプリカの場合は、読み取り専用のルーティングをサポートしないことを指定します。Specifies that when this availability replica is the primary replica, read-only routing is not supported. これは既定の動作です。This is the default behavior.

    SESSION_TIMEOUT = integerSESSION_TIMEOUT = integer
    セッション タイムアウト期間を秒単位で指定します。Specifies the session-timeout period in seconds. このオプションを指定しない場合、この時間は既定で 10 秒に設定されます。If you do not specify this option, by default, the time period is 10 seconds. 最小値は 5 秒です。The minimum value is 5 seconds.

重要

タイムアウト期間を 10 秒以上にしておくことをお勧めします。We recommend that you keep the time-out period at 10 seconds or greater.

セッション タイムアウト期間の詳細については、「AlwaysOn 可用性グループの概要 (SQL Server)」を参照してください。For more information about the session-timeout period, see Overview of Always On Availability Groups (SQL Server).

AVAILABILITY GROUP ONAVAILABILITY GROUP ON
分散型可用性グループ を構成する 2 つの可用性グループを指定します。Specifies two availability groups that constitute a distributed availability group. 各可用性グループは、独自の Windows Server フェールオーバー クラスター (WSFC) の一部です。Each availability group is part of its own Windows Server Failover Cluster (WSFC). 分散型可用性グループを作成すると、現在の SQL Server インスタンスの可用性グループがプライマリ可用性グループになり、リモート可用性グループがセカンダリ可用性グループになります。When you create a distributed availability group, the availability group on the current SQL Server Instance becomes the primary availability group and the remote availability group becomes the secondary availability group.

セカンダリ可用性グループを分散型可用性グループに参加させる必要があります。You need to join the secondary availability group to the distributed availability group. 詳細については、「 ALTER AVAILABILITY GROUP (Transact-SQL)、または PowerShell を使用して、既存の AlwaysOn 可用性グループにセカンダリ レプリカを追加する方法について説明します。For more information, see ALTER AVAILABILITY GROUP (Transact-SQL).

<ag_name> 分散可用性グループの半分を占める可用性グループの名前を指定します。<ag_name> Specifies the name of the availability group that makes up one half of the distributed availability group.

LISTENER =' TCP ://system-address:port'LISTENER =' TCP ://system-address:port'
可用性グループに関連付けられているリスナーの URL パスを指定します。Specifies the URL path for the listener associated with the availability group.

LISTENER 句は必須です。The LISTENER clause is required.

' TCP ://system-address:port'' TCP ://system-address:port'
可用性グループに関連付けられているリスナーの URL を指定します。Specifies a URL for the listener associated with the availability group. URL のパラメーターは次のとおりです。The URL parameters are as follows:

system-addresssystem-address
システム名、完全修飾ドメイン名、IP アドレスなど、リスナーを明確に識別する文字列です。Is a string, such as a system name, a fully qualified domain name, or an IP address, that unambiguously identifies the listener.

portport
可用性グループのミラーリング エンドポイントに関連付けられているポート番号です。Is a port number that is associated with the mirroring endpoint of the availability group. これはリスナーのポートではないことに注意してください。Note that this is not the port of the listener.

AVAILABILITY_MODE = { SYNCHRONOUS_COMMIT | ASYNCHRONOUS_COMMIT | CONFIGURATION_ONLY }AVAILABILITY_MODE = { SYNCHRONOUS_COMMIT | ASYNCHRONOUS_COMMIT | CONFIGURATION_ONLY }
プライマリ レプリカが特定のプライマリ データベースでトランザクションをコミットする前に、ディスクへのログ レコードの書き込みがセカンダリ可用性グループで確認されるのを待機する必要があるかどうかを指定します。Specifies whether the primary replica has to wait for the secondary availability group to acknowledge the hardening (writing) of the log records to disk before the primary replica can commit the transaction on a given primary database.

SYNCHRONOUS_COMMITSYNCHRONOUS_COMMIT
セカンダリ可用性グループでトランザクションが書き込まれるまで、プライマリ レプリカがトランザクションのコミットを待機するように指定します。Specifies that the primary replica waits to commit transactions until they have been hardened on the secondary availability group. SYNCHRONOUS_COMMIT は、プライマリ可用性グループを含む、最大 2 つの可用性グループに指定できます。You can specify SYNCHRONOUS_COMMIT for up to two availability groups, including the primary availability group.

ASYNCHRONOUS_COMMITASYNCHRONOUS_COMMIT
このセカンダリ可用性グループがログを書き込むのを待たず、プライマリ レプリカがトランザクションをコミットするように指定します。Specifies that the primary replica commits transactions without waiting for this secondary availability group to harden the log. ASYNCHRONOUS_COMMIT は、プライマリ可用性グループを含む、最大 2 つの可用性グループに指定できます。You can specify ASYNCHRONOUS_COMMIT for up to two availability groups, including the primary availability group.

AVAILABILITY_MODE 句は必須です。The AVAILABILITY_MODE clause is required.

FAILOVER_MODE = { MANUAL }FAILOVER_MODE = { MANUAL }
分散型可用性グループのフェールオーバー モードを指定します。Specifies the failover mode of the distributed availability group.

MANUALMANUAL
データベース管理者による計画的な手動フェールオーバーまたは強制手動フェールオーバー (通常は強制フェールオーバーと呼ばれる) を有効にします。Enables planned manual failover or forced manual failover (typically called forced failover) by the database administrator.

FAILOVER_MODE 句は必須であり、唯一のオプションは MANUAL です。The FAILOVER_MODE clause is required, and the only option is MANUAL. セカンダリ可用性グループへの自動フェールオーバーはサポートされていません。Automatic failover to the secondary availability group is not supported.

SEEDING_MODE = { AUTOMATIC | MANUAL }SEEDING_MODE = { AUTOMATIC | MANUAL }
セカンダリ可用性グループの初回シード処理方法を指定します。Specifies how the secondary availability group is initially seeded.

AUTOMATICAUTOMATIC
直接シード処理を有効にします。Enables direct seeding. この方法では、ネットワーク上でセカンダリ可用性グループがシード処理されます。This method seeds the secondary availability group over the network. この方法では、セカンダリ可用性グループのレプリカでプライマリ データベースのコピーをバックアップしたり、復元したりする必要がありません。This method does not require you to backup and restore a copy of the primary database on the replicas of the secondary availability group.

MANUALMANUAL
手動シード処理を指定します (既定)。Specifies manual seeding (default). この方法では、プライマリ レプリカでデータベースのバックアップを作成し、セカンダリ可用性グループのレプリカでそのバックアップを手動で復元する必要があります。This method requires you to create a backup of the database on the primary replica and manually restore that backup on the replica(s) of the secondary availability group.

LISTENER dns_name’( <listener_option> ) この可用性グループの新しい可用性グループ リスナーを定義します。LISTENER dns_name’( <listener_option> ) Defines a new availability group listener for this availability group. LISTENER は省略可能な引数です。LISTENER is an optional argument.

重要

最初のリスナーを作成する前に、「可用性グループ リスナーの作成または構成 (SQL Server)」をお読みになることを強くお勧めします。Before you create your first listener, we strongly recommend that you read Create or Configure an Availability Group Listener (SQL Server).

可用性グループのリスナーを作成した後は、次のことを行うことを強くお勧めします。After you create a listener for a given availability group, we strongly recommend that you do the following:

  • リスナーの IP アドレスが排他的に使用されるように確保することを、ネットワーク管理者に依頼します。Ask your network administrator to reserve the listener's IP address for its exclusive use.
    • この可用性グループへのクライアント接続を要求するときの接続文字列で使用できるよう、リスナーの DNS ホスト名をアプリケーション開発者に通知します。Give the listener's DNS host name to application developers to use in connection strings when requesting client connections to this availability group.

dns_namedns_name
可用性グループ リスナーの DNS ホスト名を指定します。Specifies the DNS host name of the availability group listener. リスナーの DNS 名が、ドメインおよび NetBIOS 内で一意であることが必要です。The DNS name of the listener must be unique in the domain and in NetBIOS.

dns_name は文字列値です。dns_name is a string value. この名前には、英数字、ダッシュ (-)、およびハイフン () のみを任意の順序で含めることができます。This name can contain only alphanumeric characters, dashes (-), and hyphens (), in any order. DNS ホスト名では大文字と小文字は区別されません。DNS host names are case insensitive. 最大長は 63 文字です。The maximum length is 63 characters.

意味のある文字列を指定することをお勧めします。We recommend that you specify a meaningful string. たとえば、可用性グループの名前が AG1の場合は、 ag1-listenerのような意味のある DNS ホスト名にします。For example, for an availability group named AG1, a meaningful DNS host name would be ag1-listener.

重要

NetBIOS では、dns_name の最初の 15 文字のみが認識されます。NetBIOS recognizes only the first 15 chars in the dns_name. 同じ Active Directory で制御されている 2 つの WSFC クラスターがあり、両方のクラスターで可用性グループ リスナーを作成しようとする場合、15 文字より長い名前を使用して、15 文字のプレフィックスが同一であると、エラーが表示され、仮想ネットワーク名リソースをオンラインにできなかったことがレポートされます。If you have two WSFC clusters that are controlled by the same Active Directory and you try to create availability group listeners in both clusters using names with more than 15 characters and an identical 15 character prefix, an error reports that the Virtual Network Name resource could not be brought online. DNS 名のプレフィックスに対する名前付け規則の詳細については、「 ドメイン名を割り当てる」を参照してください。For information about prefix naming rules for DNS names, see Assigning Domain Names.

<listener_option> LISTENER は次のいずれかの <listener_option> オプションを受け取ります。<listener_option> LISTENER takes one of the following <listener_option> options:

WITH DHCP [ ON { (‘four_part_ipv4_address’,‘four_part_ipv4_mask’) } ]WITH DHCP [ ON { (‘four_part_ipv4_address’,‘four_part_ipv4_mask’) } ]
可用性グループ リスナーが動的ホスト構成プロトコル (DHCP) を使用することを指定します。Specifies that the availability group listener uses the Dynamic Host Configuration Protocol (DHCP). 必要に応じて、ON 句を使用して、このリスナーが作成されるネットワークを識別します。Optionally, use the ON clause to identify the network on which this listener is created. DHCP は、可用性グループのレプリカをホストする各サーバー インスタンスに使用される単一のサブネットに限定されます。DHCP is limited to a single subnet that is used for every server instances that hosts a replica in the availability group.

重要

運用環境での DHCP の使用はお勧めしません。We do not recommend DHCP in production environment. ダウンタイムが発生して DHCP IP のリース期限が切れると、リスナーの DNS 名に関連付けられている新しい DHCP のネットワーク IP アドレスの登録に余分な時間がかかり、クライアント接続に影響が及びます。If there is a down time and the DHCP IP lease expires, extra time is required to register the new DHCP network IP address that is associated with the listener DNS name and impact the client connectivity. ただし、開発環境とテスト環境を設定して可用性グループの基本機能を確認する場合や、アプリケーションとの統合の場合には DHCP が適しています。However, DHCP is good for setting up your development and testing environment to verify basic functions of availability groups and for integration with your applications.

例 :For example:

WITH DHCP ON ('10.120.19.0','255.255.254.0')

WITH IP ( { (‘four_part_ipv4_address’,‘four_part_ipv4_mask’) | (‘ipv6_address’) } [ , ...n ] ) [ , PORT =listener_port ]WITH IP ( { (‘four_part_ipv4_address’,‘four_part_ipv4_mask’) | (‘ipv6_address’) } [ , ...n ] ) [ , PORT =listener_port ]
可用性グループ リスナーが、DHCP を使用する代わりに、1 つ以上の静的 IP アドレスを使用することを指定します。Specifies that, instead of using DHCP, the availability group listener uses one or more static IP addresses. 複数のサブネットにわたる可用性グループを作成するには、各サブネットのリスナー構成に静的 IP アドレスが 1 つ必要です。To create an availability group across multiple subnets, each subnet requires one static IP address in the listener configuration. サブネットの静的 IP アドレスには、IPv4 アドレスまたは IPv6 アドレスを使用できます。For a given subnet, the static IP address can be either an IPv4 address or an IPv6 address. ネットワーク管理者に連絡し、新しい可用性グループのレプリカをホストする各サブネットの静的 IP アドレスを入手してください。Contact your network administrator to get a static IP address for each subnet that hosts a replica for the new availability group.

例 :For example:

WITH IP ( ('10.120.19.155','255.255.254.0') )

four_part_ipv4_addressfour_part_ipv4_address
可用性グループ リスナーに対する IPv4 の 4 つの部分から成るアドレスを指定します。Specifies an IPv4 four-part address for an availability group listener. たとえば、 10.120.19.155のようにします。For example, 10.120.19.155.

four_part_ipv4_maskfour_part_ipv4_mask
可用性グループ リスナーに対する IPv4 の 4 つの部分から成るマスクを指定します。Specifies an IPv4 four-part mask for an availability group listener. たとえば、 255.255.254.0のようにします。For example, 255.255.254.0.

ipv6_addressipv6_address
可用性グループ リスナーに対する IPv6 アドレスを指定します。Specifies an IPv6 address for an availability group listener. たとえば、 2001::4898:23:1002:20f:1fff:feff:b3a3のようにします。For example, 2001::4898:23:1002:20f:1fff:feff:b3a3.

PORT = listener_portPORT = listener_port
WITH IP 句で指定されている可用性グループ リスナーが使用するポート番号 listener_port を指定します。Specifies the port number—listener_port—to be used by an availability group listener that is specified by a WITH IP clause. PORT は省略できます。PORT is optional.

既定のポート番号 1433 がサポートされます。The default port number, 1433, is supported. ただし、セキュリティ上の問題がある場合は、別のポート番号を使用することをお勧めします。However, if you have security concerns, we recommend using a different port number.

例: WITH IP ( ('2001::4898:23:1002:20f:1fff:feff:b3a3') ) , PORT = 7777For example: WITH IP ( ('2001::4898:23:1002:20f:1fff:feff:b3a3') ) , PORT = 7777

前提条件と制限Prerequisites and Restrictions

可用性グループを作成するための前提条件については、「AlwaysOn 可用性グループの前提条件、制限事項、推奨事項 (SQL Server)」を参照してください。For information about the prerequisites for creating an availability group, see Prerequisites, Restrictions, and Recommendations for Always On Availability Groups (SQL Server).

AVAILABILITY GROUP Transact-SQL ステートメントの制限については、「AlwaysOn 可用性グループの Transact-SQL ステートメントの概要 (SQL Server)」を参照してください。For information about restrictions on the AVAILABILITY GROUP Transact-SQL statements, see Overview of Transact-SQL Statements for Always On Availability Groups (SQL Server).

SecuritySecurity

アクセス許可Permissions

sysadmin 固定サーバー ロールのメンバーシップと、CREATE AVAILABILITY GROUP サーバー権限、ALTER ANY AVAILABILITY GROUP 権限、CONTROL SERVER 権限のいずれかが必要です。Requires membership in the sysadmin fixed server role and either CREATE AVAILABILITY GROUP server permission, ALTER ANY AVAILABILITY GROUP permission, or CONTROL SERVER permission.

使用例Examples

A.A. セカンダリ レプリカ上のバックアップ、柔軟なフェールオーバー ポリシー、および接続アクセスを構成するConfiguring Backup on Secondary Replicas, Flexible Failover Policy, and Connection Access

次の例では、2 つのユーザー データベース (ThisDatabase および ThatDatabase) に対して、MyAg という名前の可用性グループを作成します。The following example creates an availability group named MyAg for two user databases, ThisDatabase and ThatDatabase. 次の表は、可用性グループ全体を対象に設定されるオプションの指定値をまとめたものです。The following table summarizes the values specified for the options that are set for the availability group as a whole.

グループ オプションGroup Option 設定Setting [説明]Description
AUTOMATED_BACKUP_PREFERENCEAUTOMATED_BACKUP_PREFERENCE SECONDARYSECONDARY バックアップをセカンダリ レプリカで実行することを指定します (プライマリ レプリカ以外にオンラインのレプリカがない場合は除く)。これが既定の動作です。This automated backup preference indicates that backups should occur on a secondary replica except when the primary replica is the only replica online (this is the default behavior). AUTOMATED_BACKUP_PREFERENCE 設定が作用するためには、その設定を考慮して動作するバックアップ ジョブ スクリプトを可用性データベースに作成する必要があります。For the AUTOMATED_BACKUP_PREFERENCE setting to have any effect, you need to script backup jobs on the availability databases to take the automated backup preference into account.
FAILURE_CONDITION_LEVELFAILURE_CONDITION_LEVEL 33 孤立したスピンロック、深刻な書き込みアクセス違反、ダンプが多すぎるなど、SQL Server 内部の深刻なエラーが発生した場合に自動フェールオーバーを開始する必要があることを指定します。This failure condition level setting specifies that an automatic failover should be initiated on critical SQL Server internal errors, such as orphaned spinlocks, serious write-access violations, or too much dumping.
HEALTH_CHECK_TIMEOUTHEALTH_CHECK_TIMEOUT 600000600000 正常性チェックのタイムアウト値を 60 秒に設定します。同期コミット レプリカ (自動フェールオーバー有効) をホストしているサーバー インスタンスについての状態情報が sp_server_diagnostics システム ストアド プロシージャから返されるまで、WSFC クラスターは 60000 ミリ秒待機します。その時間を経過すると、ホスト サーバー インスタンスは速度低下またはハングしているものと見なされます This health check timeout value, 60 seconds, specifies that the WSFC cluster waits 60000 milliseconds for the sp_server_diagnostics system stored procedure to return server-health information about a server instance that is hosting a synchronous-commit replica with automatic before the cluster assumes that the host server instance is slow or hung. (既定値は 30000 ミリ秒です)。(The default value is 30000 milliseconds).

3 つの可用性レプリカは、COMPUTER01COMPUTER02、および COMPUTER03 という名前のコンピューター上の既定のサーバー インスタンスによってホストされます。Three availability replicas are to be hosted by the default server instances on computers named COMPUTER01, COMPUTER02, and COMPUTER03. 次の表は、レプリカ オプションの指定値をレプリカごとにまとめたものです。The following table summarizes the values specified for the replica options of each replica.

レプリカ オプションReplica Option COMPUTER01 上の設定Setting on COMPUTER01 COMPUTER02 上の設定Setting on COMPUTER02 COMPUTER03 上の設定Setting on COMPUTER03 [説明]Description
ENDPOINT_URLENDPOINT_URL TCP://COMPUTER01:5022TCP://COMPUTER01:5022 TCP://COMPUTER02:5022TCP://COMPUTER02:5022 TCP://COMPUTER03:5022TCP://COMPUTER03:5022 この例では、いずれのシステムも同じドメインに存在するため、エンドポイントの URL には、コンピューター システムの名前をシステム アドレスとして使用できます。In this example, the systems are the same domain, so the endpoint URLs can use the name of the computer system as the system address.
AVAILABILITY_MODEAVAILABILITY_MODE SYNCHRONOUS_COMMITSYNCHRONOUS_COMMIT SYNCHRONOUS_COMMITSYNCHRONOUS_COMMIT ASYNCHRONOUS_COMMITASYNCHRONOUS_COMMIT 2 つのレプリカが同期コミット モードを使用できます。Two of the replicas use synchronous-commit mode. 同期されているレプリカは、データ損失のないフェールオーバーをサポートします。When synchronized, they support failover without data loss. 3 番目のレプリカには、非同期コミットの可用性モードが使用されます。The third replica, which uses asynchronous-commit availability mode.
FAILOVER_MODEFAILOVER_MODE AUTOMATICAUTOMATIC AUTOMATICAUTOMATIC MANUALMANUAL 同期コミット レプリカは、自動フェールオーバーおよび計画的な手動フェールオーバーをサポートします。The synchronous-commit replicas support automatic failover and planned manual failover. 同期コミット可用性モードのレプリカは、強制手動フェールオーバーのみサポートします。The synchronous-commit availability mode replica supports only forced manual failover.
BACKUP_PRIORITYBACKUP_PRIORITY 3030 3030 9090 非同期コミット レプリカには、同期コミット レプリカよりも高い優先度 (90) が割り当てられます。A higher priority, 90, is assigned to the asynchronous-commit replica, than to the synchronous-commit replicas. バックアップの頻度は、非同期コミット レプリカをホストするサーバー インスタンスのほうが高くなります。Backups tend to occur on the server instance that hosts the asynchronous-commit replica.
SECONDARY_ROLESECONDARY_ROLE ( ALLOW_CONNECTIONS = NO,( ALLOW_CONNECTIONS = NO,

READ_ONLY_ROUTING_URL = 'TCP://COMPUTER01:1433' )READ_ONLY_ROUTING_URL = 'TCP://COMPUTER01:1433' )
( ALLOW_CONNECTIONS = NO,( ALLOW_CONNECTIONS = NO,

READ_ONLY_ROUTING_URL = 'TCP://COMPUTER02:1433' )READ_ONLY_ROUTING_URL = 'TCP://COMPUTER02:1433' )
( ALLOW_CONNECTIONS = READ_ONLY,( ALLOW_CONNECTIONS = READ_ONLY,
READ_ONLY_ROUTING_URL = 'TCP://COMPUTER03:1433' )READ_ONLY_ROUTING_URL = 'TCP://COMPUTER03:1433' )
非同期コミット レプリカだけが、読み取り可能なセカンダリ レプリカとして機能します。Only the asynchronous-commit replica serves as a readable secondary replica.

コンピューターの名前と、データベース エンジンの既定のポート番号 (1433) を指定します。Specifies the computer name and default Database Engine port number (1433).

この引数は省略可能です。This argument is optional.
PRIMARY_ROLEPRIMARY_ROLE ( ALLOW_CONNECTIONS = READ_WRITE,( ALLOW_CONNECTIONS = READ_WRITE,
READ_ONLY_ROUTING_LIST = (COMPUTER03) )READ_ONLY_ROUTING_LIST = (COMPUTER03) )
( ALLOW_CONNECTIONS = READ_WRITE,( ALLOW_CONNECTIONS = READ_WRITE,
READ_ONLY_ROUTING_LIST = (COMPUTER03) )READ_ONLY_ROUTING_LIST = (COMPUTER03) )
( ALLOW_CONNECTIONS = READ_WRITE,( ALLOW_CONNECTIONS = READ_WRITE,
READ_ONLY_ROUTING_LIST = NONE )READ_ONLY_ROUTING_LIST = NONE )
プライマリ ロールでは、読み取りを目的とした接続試行は、すべてのレプリカで拒否されます。In the primary role, all the replicas reject read-intent connection attempts.

ローカル レプリカがセカンダリ ロールで実行されている場合、読み取りを目的とした接続要求は COMPUTER03 にルーティングされます。Read-intent connection requests are routed to COMPUTER03 if the local replica is running under the secondary role. そのレプリカがプライマリ ロールで実行していると、読み取り専用のルーティングは無効になります。When that replica runs under the primary role, read-only routing is disabled.

この引数は省略可能です。This argument is optional.
SESSION_TIMEOUTSESSION_TIMEOUT 1010 1010 1010 この例では、既定のセッション タイムアウト値 (10) を指定します。This example specifies the default session timeout value (10). この引数は省略可能です。This argument is optional.

最後に、新しい可用性グループの可用性グループ リスナーを作成するためのオプションの LISTENER 句を指定します。Finally, the example specifies the optional LISTENER clause to create an availability group listener for the new availability group. このリスナーには、一意の DNS 名 MyAgListenerIvP6を指定します。A unique DNS name, MyAgListenerIvP6, is specified for this listener. 2 つのレプリカが異なるサブネット上に存在するため、リスナーは静的 IP アドレスを使用する必要があります。The two replicas are on different subnets, so the listener must use static IP addresses. WITH IP 句には、2 つの可用性レプリカについて、それぞれ IPv6 形式の静的 IP アドレス (2001:4898:f0:f00f::cf3c および 2001:4898:e0:f213::4ce2) を指定します。For each of the two availability replicas, the WITH IP clause specifies a static IP address, 2001:4898:f0:f00f::cf3c and 2001:4898:e0:f213::4ce2, which use the IPv6 format. また、この例では、オプションの PORT 引数を使用して、 60173 をリスナー ポートとして指定しています。This example also specifies uses the optional PORT argument to specify port 60173 as the listener port.

CREATE AVAILABILITY GROUP MyAg   
   WITH (  
      AUTOMATED_BACKUP_PREFERENCE = SECONDARY,  
      FAILURE_CONDITION_LEVEL  =  3,   
      HEALTH_CHECK_TIMEOUT = 600000  
       )  

   FOR   
      DATABASE  ThisDatabase, ThatDatabase   
   REPLICA ON   
      'COMPUTER01' WITH   
         (  
         ENDPOINT_URL = 'TCP://COMPUTER01:5022',  
         AVAILABILITY_MODE = SYNCHRONOUS_COMMIT,  
         FAILOVER_MODE = AUTOMATIC,  
         BACKUP_PRIORITY = 30,  
         SECONDARY_ROLE (ALLOW_CONNECTIONS = NO,   
            READ_ONLY_ROUTING_URL = 'TCP://COMPUTER01:1433' ),
         PRIMARY_ROLE (ALLOW_CONNECTIONS = READ_WRITE,   
            READ_ONLY_ROUTING_LIST = (COMPUTER03) ),  
         SESSION_TIMEOUT = 10  
         ),   

      'COMPUTER02' WITH   
         (  
         ENDPOINT_URL = 'TCP://COMPUTER02:5022',  
         AVAILABILITY_MODE = SYNCHRONOUS_COMMIT,  
         FAILOVER_MODE = AUTOMATIC,  
         BACKUP_PRIORITY = 30,  
         SECONDARY_ROLE (ALLOW_CONNECTIONS = NO,   
            READ_ONLY_ROUTING_URL = 'TCP://COMPUTER02:1433' ),  
         PRIMARY_ROLE (ALLOW_CONNECTIONS = READ_WRITE,   
            READ_ONLY_ROUTING_LIST = (COMPUTER03) ),  
         SESSION_TIMEOUT = 10  
         ),   

      'COMPUTER03' WITH   
         (  
         ENDPOINT_URL = 'TCP://COMPUTER03:5022',  
         AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT,  
         FAILOVER_MODE =  MANUAL,  
         BACKUP_PRIORITY = 90,  
         SECONDARY_ROLE (ALLOW_CONNECTIONS = READ_ONLY,   
            READ_ONLY_ROUTING_URL = 'TCP://COMPUTER03:1433' ),  
         PRIMARY_ROLE (ALLOW_CONNECTIONS = READ_WRITE,   
            READ_ONLY_ROUTING_LIST = NONE ),  
         SESSION_TIMEOUT = 10  
         );
GO  
ALTER AVAILABIIITY GROUP [MyAg]
  ADD LISTENER ‘MyAgListenerIvP6’ ( WITH IP ( ('2001:db88:f0:f00f::cf3c'),('2001:4898:e0:f213::4ce2') ) , PORT = 60173 );   
GO  

関連タスクRelated Tasks

参照See Also

ALTER AVAILABILITY GROUP (Transact-SQL) ALTER AVAILABILITY GROUP (Transact-SQL)
ALTER DATABASE SET HADR (Transact-SQL) ALTER DATABASE SET HADR (Transact-SQL)
DROP AVAILABILITY GROUP (Transact-SQL) DROP AVAILABILITY GROUP (Transact-SQL)
AlwaysOn 可用性グループの構成のトラブルシューティング (SQL Server) Troubleshoot Always On Availability Groups Configuration (SQL Server)
AlwaysOn 可用性グループの概要 (SQL Server) Overview of Always On Availability Groups (SQL Server)
可用性グループ リスナー、クライアント接続、およびアプリケーションのフェールオーバー (SQL Server)Availability Group Listeners, Client Connectivity, and Application Failover (SQL Server)