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

이 항목은 다음에 적용됩니다.예SQL Server(2012부터)아니요Azure SQL Database아니요Azure SQL Data Warehouse 아니요병렬 데이터 웨어하우스 THIS 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. 이 서버 인스턴스는 WSFC(Windows Server 장애 조치(failover) 클러스터링) 노드에 있어야 합니다.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 Serveridentifier 식별자이고 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을 반환합니다.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 }
이 가용성 그룹에 대한 자동 장애 조치(failover)를 트리거할 오류 상태를 지정합니다.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)에 대해 구성되고 보조 복제본이 현재 주 복제본과 동기화된 경우에만 자동 장애 조치(failover)를 트리거할 수 있습니다.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.

LevelLevel 오류 상태Failure Condition
11 다음과 같은 경우 자동 장애 조치(failover)를 시작하도록 지정합니다.Specifies that an automatic failover should be initiated when any of the following occurs:

- SQL ServerSQL Server 서비스가 다운된 경우-The SQL ServerSQL Server service is down.

-서버 인스턴스로부터 ACK를 받지 못해 WSFC 클러스터에 연결할 가용성 그룹의 임대가 만료된 경우-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 다음과 같은 경우 자동 장애 조치(failover)를 시작하도록 지정합니다.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 분리된 spinlock, 중대한 쓰기 액세스 위반 또는 과도한 덤프와 같이 심각한 SQL ServerSQL Server 내부 오류가 발생할 경우 자동 장애 조치(failover)를 시작하도록 지정합니다.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 내부 오류가 발생할 경우 자동 장애 조치(failover)를 시작하도록 지정합니다.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 다음과 같은 오류 상태가 발생할 경우 자동 장애 조치(failover)를 시작하도록 지정합니다.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 값은 지정된 그룹에 대한 유연한 장애 조치(failover) 정책을 정의합니다.The FAILURE_CONDITION_LEVEL and HEALTH_CHECK_TIMEOUT values, define a flexible failover policy for a given group. 유연한 장애 조치(failover) 정책을 통해 자동 장애 조치(failover)를 수행해야 하는 상태를 세부적으로 제어할 수 있습니다.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은 그룹 수준에서 설정되지만 자동 장애 조치(failover)를 지원하는 동기-커밋 가용성 모드(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)에 대해 구성되고 보조 복제본이 현재 주 복제본과 동기화된 경우에만 자동 장애 조치(failover)를 트리거할 수 있습니다.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 값은 30,000밀리초(30초)입니다.The default HEALTH_CHECK_TIMEOUT value is 30000 milliseconds (30 seconds). 최소값은 15,000밀리초(15초)이고 최대값은 4,294,967,295밀리초입니다.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. 가용성 그룹의 데이터베이스에 대한 ONLINE 이외의 모든 상태가 ON으로 설정되는 경우 자동 장애 조치(failover)를 트리거합니다.When set to ON, any status other than ONLINE for a database in the availability group triggers an automatic failover. 이 옵션이 OFF로 설정되는 경우 인스턴스의 상태만 자동 장애 조치(failover)를 트리거하는 데 사용됩니다.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(Distributed Transaction Coordinator)를 통해 데이터베이스 간 트랜잭션을 지원할지 여부를 지정합니다.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. 기본 가용성 그룹은 하나의 데이터베이스와 두 개의 복제본(주 복제본과 보조 복제본)으로 제한됩니다.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. 자세한 내용은 기본 가용성 그룹(Always On 가용성 그룹)을 참조하세요.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. 이 옵션은 AVAILABILITY GROUP ON 매개 변수와 함께 사용되어 별도의 Windows Server 장애 조치(failover) 클러스터에 있는 두 개의 가용성 그룹을 연결합니다.This option is used with the AVAILABILITY GROUP ON parameter to connect two availability groups in separate Windows Server Failover Clusters. 자세한 내용은 분산된 가용성 그룹(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는 보조 복제본을 NOT SYNCHRONIZED로 표시하고 진행합니다.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. 가용성 그룹이 WSFC(Windows Server 장애 조치(Failover) 클러스터)에 있는지 확인하는 데 사용됩니다.Used to identify if the availability group is on a Windows Server Failover Cluster (WSFC). 가용성 그룹이 Windows Server 장애 조치(failover) 클러스터의 장애 조치(failover) 클러스터 인스턴스에 있는 경우 WSFC로 설정합니다.Set to WSFC when availability group is on a failover cluster instance on a Windows Server failover cluster. 클러스터가 Windows Server 장애 조치(failover) 클러스터가 아닌 클러스터 관리자(예: Linux Pacemaker)에 의해 관리되는 경우 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 인스턴스(즉, 가용성 그룹을 만들 서버 인스턴스)에 있는 하나 이상의 사용자 데이터베이스 목록을 지정합니다.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). 하나의 가용성 그룹에 여러 개의 데이터베이스를 지정할 수 있지만 각 데이터베이스는 하나의 가용성 그룹에만 속할 수 있습니다.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. 자세한 내용은 Always On 보조 데이터베이스에서 데이터 이동 시작(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을 사용하여 기존 Always On 가용성 그룹에 보조 복제본을 추가하는 방법에 대해 설명합니다.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. 선택적으로 최대 네 개의 보조 복제본을 지정할 수도 있습니다.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을 사용하여 기존 Always On 가용성 그룹에 보조 복제본을 추가하는 방법에 대해 설명합니다.For more information, see ALTER AVAILABILITY GROUP (Transact-SQL).

참고

가용성 그룹을 만들 때 세 개 이하의 보조 복제본을 지정한 경우 언제든지 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(장애 조치(failover) 클러스터 인스턴스)인지에 따라 달라집니다.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 장애 조치(failover) 클러스터에 액세스하는 데 사용되는 네트워크 이름입니다.Is the network name that is used to access a SQL ServerSQL Server failover cluster. 서버 인스턴스가 SQL ServerSQL Server장애 조치(failover) 파트너로 참여하는 경우 이 인수를 사용합니다.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 노드 및 서버 인스턴스의 필수 조건에 대한 자세한 내용은 Always On 가용성 그룹에 대한 필수 조건, 제한 사항 및 권장 사항(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을 지정할 수 있습니다.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을 지정할 수 있습니다.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 }
    정의하는 가용성 복제본의 장애 조치(failover) 모드를 지정합니다.Specifies the failover mode of the availability replica that you are defining.

    AUTOMATICAUTOMATIC
    자동 장애 조치(failover)를 사용하도록 설정합니다.Enables automatic failover. 이 옵션은 AVAILABILITY_MODE = SYNCHRONOUS_COMMIT도 지정한 경우에만 지원됩니다.This option is supported only if you also specify AVAILABILITY_MODE = SYNCHRONOUS_COMMIT. 주 복제본을 포함하여 두 개의 가용성 복제본에 대해 AUTOMATIC을 지정할 수 있습니다.You can specify AUTOMATIC for two availability replicas, including the primary replica.

참고

SQL Server FCI(장애 조치(Failover) 클러스터 인스턴스)는 가용성 그룹에 따라 AlwaysOn 자동 장애 조치(Failover)를 지원하지 않으므로 FCI에서 호스팅하는 모든 가용성 복제본은 수동 장애 조치(Failover)에 대해서만 구성될 수 있습니다.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
데이터베이스 관리자에 의한 예정된 수동 장애 조치(failover) 또는 강제 수동 장애 조치(failover)(일반적으로 강제 장애 조치(failover) 라고 함)를 사용하도록 설정합니다.Enables planned manual failover or forced manual failover (typically called forced failover) by the database administrator.

FAILOVER_MODE 절은 필수적입니다.The FAILOVER_MODE clause is required. 두 가지 유형의 수동 장애 조치(failover)인 데이터 손실이 없는 수동 장애 조치(failover)와 데이터가 손실될 수 있는 강제 장애 조치(failover)는 서로 다른 조건에서 지원됩니다.The two types of manual failover, manual failover without data loss and forced failover (with possible data loss), are supported under different conditions. 자세한 내용은 이 항목의 뒷부분에 나오는 장애 조치(Failover) 및 장애 조치(Failover) 모드(Always On 가용성 그룹)를 참조하세요.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:

    NONO
    이 복제본의 보조 데이터베이스에 대한 사용자 연결이 허용되지 않습니다.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
    응용 프로그램 의도 속성이 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. 이 URL은 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 동적 관리 뷰의 porttype_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을 계산하는 방법에 대한 자세한 내용은 Always On에 대한 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
응용 프로그램 의도 연결 속성이 ReadOnly 로 설정된 연결은 허용되지 않습니다.Connections where the Application Intent connection property is set to ReadOnly are disallowed. 응용 프로그램 의도 속성이 ReadWrite 로 설정되었거나 응용 프로그램 의도 연결 속성이 설정되지 않은 경우에는 연결이 허용됩니다.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. 복제본의 읽기 전용 라우팅 목록에 복제본의 호스트 서버 인스턴스를 포함한 경우 읽기 전용 연결이 보조 복제본(사용 가능한 경우)으로 이동할 수 있도록 일반적으로 이 서버 인스턴스를 목록 끝에 두는 것이 좋습니다.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.

세션 제한 시간에 대한 자세한 내용은 Always On 가용성 그룹 개요(SQL Server)를 참조하세요.For more information about the session-timeout period, see Overview of Always On Availability Groups (SQL Server).

AVAILABILITY GROUP ONAVAILABILITY GROUP ON
분산형 가용성 그룹을 구성하는 두 개의 가용성 그룹을 지정합니다.Specifies two availability groups that constitute a distributed availability group. 각 가용성 그룹은 자체 WSFC(Windows Server 장애 조치(Failover) 클러스터)의 일부입니다.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을 사용하여 기존 Always On 가용성 그룹에 보조 복제본을 추가하는 방법에 대해 설명합니다.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를 지정할 수 있습니다.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를 지정할 수 있습니다.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 }
분산형 가용성 그룹의 장애 조치(failover) 모드를 지정합니다.Specifies the failover mode of the distributed availability group.

MANUALMANUAL
데이터베이스 관리자에 의한 예정된 수동 장애 조치(failover) 또는 강제 수동 장애 조치(failover)(일반적으로 강제 장애 조치(failover) 라고 함)를 사용하도록 설정합니다.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. 보조 가용성 그룹에 대한 자동 장애 조치(failover)는 지원되지 않습니다.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. 두 WSFC 클러스터가 동일한 Active Directory에 의해 제어될 때 15자 이상의 이름과 동일한 15자 접두사를 사용하여 두 클러스터 모두에서 가용성 그룹 수신기를 만들려고 하면Virtual Network 이름 리소스를 온라인으로 전환할 수 없다는 오류가 보고됩니다.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를 사용하는 대신 가용성 그룹 수신기가 하나 이상의 고정 IP 주소를 사용할지 여부를 지정합니다.Specifies that, instead of using DHCP, the availability group listener uses one or more static IP addresses. 여러 서브넷에서 가용성 그룹을 만들려면 각 서브넷의 수신기 구성에 하나의 고정 IP 주소가 필요합니다.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 주소를 지정합니다.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 마스크를 지정합니다.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

가용성 그룹을 만들기 위한 필수 조건에 대한 자세한 내용은 Always On 가용성 그룹에 대한 필수 조건, 제한 사항 및 권장 사항(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 문에 대한 제한 사항에 대한 자세한 내용은 Always On 가용성 그룹에 대한 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).

보안Security

사용 권한Permissions

CREATE AVAILABILITY GROUP 서버 권한, ALTER ANY AVAILABILITY GROUP 권한, CONTROL SERVER 권한 중 하나와 sysadmin 고정 서버 역할의 멤버 자격이 필요합니다.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

1.A. 보조 복제본, 유연한 장애 조치(failover) 정책 및 연결 액세스에 대한 백업 구성Configuring Backup on Secondary Replicas, Flexible Failover Policy, and Connection Access

다음 예에서는 두 개의 사용자 데이터베이스 MyAgThisDatabase에 대해 ThatDatabase라는 가용성 그룹을 만듭니다.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 이 오류 상태 수준 설정은 분리된 spinlock, 중대한 쓰기 액세스 위반 또는 과도한 덤프와 같이 심각한 SQL Server 내부 오류가 발생할 경우 자동 장애 조치(failover)를 시작하도록 지정합니다.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초)은 WSFC 클러스터에서 sp_server_diagnostics 시스템 저장 프로시저가 자동 장애 조치 모드의 동기-커밋 복제본을 호스팅하는 서버 인스턴스에 대한 서버 상태 정보를 반환할 때까지 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. 기본값은 30,000밀리초입니다.(The default value is 30000 milliseconds).

세 가지 가용성 복제본은 COMPUTER01, COMPUTER02COMPUTER03이라는 컴퓨터의 기본 서버 인스턴스가 호스팅합니다.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 두 복제본이 동기-커밋 모드를 사용합니다.Two of the replicas use synchronous-commit mode. 동기화된 복제본은 데이터 손실 없는 장애 조치(failover)를 지원합니다.When synchronized, they support failover without data loss. 비동기-커밋을 가용성 모드를 사용하는 세 번째 복제본입니다.The third replica, which uses asynchronous-commit availability mode.
FAILOVER_MODEFAILOVER_MODE AUTOMATICAUTOMATIC AUTOMATICAUTOMATIC MANUALMANUAL 동기-커밋 복제본은 자동 장애 조치(failover) 및 계획된 수동 장애 조치(failover)를 지원합니다.The synchronous-commit replicas support automatic failover and planned manual failover. 동기-커밋 가용성 모드 복제본은 강제 수동 장애 조치(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. 두 복제본이 서로 다른 서브넷에 있으므로 수신기에서 고정 IP 주소를 사용해야 합니다.The two replicas are on different subnets, so the listener must use static IP addresses. 두 가용성 복제본 각각에 대해 WITH IP 절이 IPv6 형식을 사용하는 고정 IP 주소인 2001:4898:f0:f00f::cf3c2001: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 AVAILABILITY 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)
Always On 가용성 그룹 구성 문제 해결(SQL Server) Troubleshoot Always On Availability Groups Configuration (SQL Server)
Always On 가용성 그룹 개요(SQL Server) Overview of Always On Availability Groups (SQL Server)
가용성 그룹 수신기, 클라이언트 연결 및 응용 프로그램 장애 조치(SQL Server)Availability Group Listeners, Client Connectivity, and Application Failover (SQL Server)