가용성 복제본에 대한 클라이언트 연결 액세스 정보(SQL Server)About Client Connection Access to Availability Replicas (SQL Server)

Always On 가용성 그룹에서 보조 역할 즉, 보조 복제본으로 실행되는 동안 읽기 전용 연결을 허용하도록 하나 이상의 가용성 복제본을 구성할 수 있습니다.In an Always On availability group, you can configure one or more availability replicas to allow read-only connections when running under the secondary role (that is, when running as a secondary replica). 주 역할 즉, 주 복제본으로 실행되는 동안 읽기 전용 연결을 허용하거나 제외하도록 각 가용성 복제본을 구성할 수도 있습니다.You can also configure each availability replica to allow or exclude read-only connections when running under the primary role (that is, when running as the primary replica).

지정된 가용성 그룹의 주 또는 보조 데이터베이스에 클라이언트가 쉽게 액세스할 수 있도록 하려면 가용성 그룹 수신기를 정의해야 합니다.To facilitate client access to primary or secondary databases of a given availability group, you should define an availability group listener. 기본적으로 가용성 그룹 수신기는 들어오는 연결을 주 복제본으로 전달합니다.By default, the availability group listener directs incoming connections to the primary replica. 그러나 읽기 전용 라우팅만 지원하도록 가용성 그룹을 구성할 수 있습니다. 그러면 가용성 그룹 수신기가 읽기 전용 응용 프로그램의 연결 요청을 읽기 가능한 보조 복제본으로 리디렉션합니다.However, you can configure an availability group to support read-only routing, which enables its availability group listener to redirect the connection requests of read-intent applications to a readable secondary replica. 자세한 내용은 가용성 그룹에 대한 읽기 전용 라우팅 구성(SQL Server)을 참조하세요.For more information, see Configure Read-Only Routing for an Availability Group (SQL Server).

장애 조치(failover) 중에 보조 복제본은 주 역할로 전환되고 이전의 주 복제본은 보조 역할로 전환됩니다.During a failover, a secondary replica transitions to the primary role and the former primary replica transitions to the secondary role. 장애 조치(failover) 프로세스 동안 주 복제본 및 보조 복제본에 대한 모든 클라이언트 연결은 종료됩니다.During the failover process, all client connections to both the primary replica and secondary replicas are terminated. 장애 조치(failover) 후 클라이언트가 가용성 그룹 수신기에 다시 연결할 때 수신기는 읽기 전용 연결 요청을 제외하고 새로운 주 복제본에 클라이언트를 다시 연결합니다.After the failover, when a client reconnects to the availability group listener, the listener reconnects the client to the new primary replica, except for a read-intent connect request. 새로운 주 복제본을 호스팅하는 클라이언트 및 서버 인스턴스와 최소 하나 이상의 읽기 가능한 보조 복제본에서 읽기 전용 라우팅이 구성되어 있는 경우 읽기 전용 연결 요청은 클라이언트에 필요한 연결 액세스 유형을 지원하는 보조 복제본으로 다시 라우팅됩니다.If read-only routing is configured on the client and on the server instances that hosts the new primary replica and on at least one readable secondary replica, read-intent connection requests are re-routed to a secondary replica that supports the type of connection access that the client requires. 장애 조치(failover) 후 정상적인 클라이언트 환경을 위해 모든 가용성 복제본의 보조 역할 및 주 역할에 대해 연결 액세스를 구성해야 합니다.To ensure a graceful client experience after a failover, it is important to configure connection access for both the secondary and primary roles of every availability replica.

참고

클라이언트 연결 요청을 처리하는 가용성 그룹 수신기에 대한 자세한 내용은 가용성 그룹 수신기, 클라이언트 연결 및 응용 프로그램 장애 조치(failover)(SQL Server)을 참조하세요.For information about the availability group listener, which handles client connection requests, see Availability Group Listeners, Client Connectivity, and Application Failover (SQL Server).

항목 내용:In This Topic:

보조 역할에서 지원되는 연결 액세스의 유형 Types of Connection Access Supported by the Secondary Role

보조 역할은 클라이언트 연결에 대해 다음과 같은 세 가지 대체 방법을 지원합니다.The secondary role supports three alternatives for client connections, as follows:

연결 없음No connections
사용자 연결이 허용되지 않습니다.No user connections are allowed. 보조 데이터베이스를 읽기 액세스에 사용할 수 없습니다.Secondary databases are not available for read access. 이 항목은 보조 역할의 기본 동작입니다.This is the default behavior in the secondary role.

읽기 전용 연결만Only read-intent connections
응용 프로그램 의도 연결 속성이 ReadOnly (읽기 전용 연결)로 설정된 연결에만 보조 데이터베이스를 사용할 수 있습니다.The secondary database(s) are available only for connection for which the Application Intent connection property is set to ReadOnly (read-intent connections).

이 연결 속성에 대한 자세한 내용은 SQL Server Native Client Support for High Availability, Disaster Recovery을 참조하세요.For information about this connection property, see SQL Server Native Client Support for High Availability, Disaster Recovery.

읽기 전용 연결 허용Allow any read-only connection
모든 보조 데이터베이스는 읽기 액세스 연결에 사용할 수 있습니다.The secondary database(s) are all available for read access connections. 이 옵션을 선택하면 낮은 버전의 클라이언트가 연결할 수 있습니다.This option allows lower versioned clients to connect.

자세한 내용은 가용성 복제본에 대한 읽기 전용 액세스 구성(SQL Server)을 참조하세요.For more information, see Configure Read-Only Access on an Availability Replica (SQL Server).

주 역할에서 지원되는 연결 액세스의 유형 Types of Connection Access Supported by the Primary Role

주 역할은 클라이언트 연결에 대해 다음과 같은 두 가지 대체 방법을 지원합니다.The primary role supports two alternatives for client connections, as follows:

모든 연결이 허용됩니다.All connections are allowed
주 데이터베이스에 읽기/쓰기 및 읽기 전용 연결이 모두 허용됩니다.Both read-write and read-only connections are allowed to primary databases. 이 항목은 주 역할의 기본 동작입니다.This is the default behavior for the primary role.

읽기/쓰기 연결만 허용Allow only read-write connections
응용 프로그램 의도 연결 속성을 설정하지 않거나 ReadWrite 로 설정하면 연결이 허용됩니다.When the Application Intent connection property is set to ReadWrite or is not set, the connection is allowed. Application Intent 연결 문자열 키워드를 ReadOnly 로 설정하는 연결은 허용되지 않습니다.Connections for which the Application Intent connection string keyword is set to ReadOnly are not allowed. 읽기/쓰기 연결을 허용하면 고객이 읽기 전용 작업 로드를 주 복제본에 실수로 연결하지 않도록 할 수 있습니다.Allowing only read-write connections can help prevent your customers from connecting a read-intent work load to the primary replica by mistake.

이 연결 속성에 대한 자세한 내용은 Using Connection String Keywords with SQL Server Native Client을 참조하세요.For information about this connection property, see Using Connection String Keywords with SQL Server Native Client.

자세한 내용은 가용성 복제본에 대한 읽기 전용 액세스 구성(SQL Server)을 참조하세요.For more information, see Configure Read-Only Access on an Availability Replica (SQL Server).

연결 액세스 구성이 클라이언트 연결에 미치는 영향 How the Connection Access Configuration Affects Client Connectivity

복제본의 연결 액세스 설정에 따라 연결 시도가 실패하는지 또는 성공하는지가 결정됩니다.The connection access settings of a replica determine whether a connection attempt fails or succeeds. 다음 표에는 지정된 연결 시도의 각 연결 액세스 설정에 대한 성공 여부가 요약되어 있습니다.The following table summarizes whether a given connection attempt succeeds or fails for each the connection-access setting.

복제본 역할Replica Role 복제본에서 지원되는 연결 액세스Connection Access Supported on Replica 연결 의도Connection Intent 연결 시도 결과Connection-Attempt Result
보조Secondary 모두All 읽기 전용, 읽기/쓰기 또는 연결 의도가 지정되지 않음Read-intent, read-write, or no connection intent specified 성공Success
보조Secondary 없음(기본 보조 동작)None (This is the default secondary behavior.) 읽기 전용, 읽기/쓰기 또는 연결 의도가 지정되지 않음Read-intent, read-write, or no connection intent specified 실패Failure
보조Secondary 읽기 전용만Read-intent only 읽기 전용Read-intent 성공Success
보조Secondary 읽기 전용만Read-intent only 읽기/쓰기 또는 연결 의도가 지정되지 않음Read-write or no connection intent specified 실패Failure
Primary 모두(기본 주 동작)All (This is the default primary behavior.) 읽기 전용, 읽기/쓰기, 또는 연결 의도가 지정되지 않음Read-only, read-write, or no connection intent specified 성공Success
Primary 읽기/쓰기Read-write 읽기 전용만Read-intent only 실패Failure
Primary 읽기/쓰기Read-write 읽기/쓰기 또는 연결 의도가 지정되지 않음Read-write or no connection intent specified 성공Success

해당 복제본에 대한 클라이언트 연결을 허용하도록 가용성 그룹을 구성하는 방법은 가용성 그룹 수신기, 클라이언트 연결 및 응용 프로그램 장애 조치(failover)(SQL Server)을 참조하세요.For information about configuring an availability group to accept client connections to its replicas, see Availability Group Listeners, Client Connectivity, and Application Failover (SQL Server).

연결 액세스 구성의 예Example Connection-Access Configuration

구성 액세스에 대해 가용성 복제본을 구성하는 방법에 따라 가용성 그룹이 장애 조치된 후 클라이언트 연결에 대한 지원이 변경될 수 있습니다.Depending on how different availability replicas are configured for connection access, support for client connections might change after an availability group fails over. 예를 들어 원격 비동기 커밋 보조 복제본에서 보고가 수행되는 가용성 그룹의 경우,For example, consider an availability group for which reporting is performed on remote asynchronous-commit secondary replicas. 모든 읽기 전용 연결이 읽기 전용 연결이 되도록 이 가용성 그룹의 데이터베이스에 대한 모든 읽기 전용 응용 프로그램은 응용 프로그램 의도 연결 속성을 ReadOnly로 설정합니다.All of the read-only applications for the databases in this availability group set their Application Intent connection property to ReadOnly, so that all read-only connections are read-intent connections.

이 예에서 가용성 그룹은 메인 컴퓨팅 센터에 두 개의 동기-커밋 복제본이 있고 위성 사이트에 두 개의 비동기-커밋 복제본이 있습니다.This example availability group possesses two synchronous-commit replicas at the main computing center and two asynchronous-commit replicas at a satellite site. 주 역할에 대해 모든 복제본은 읽기/쓰기 액세스용으로 구성되므로 모든 상황에서 주 복제본에 대한 읽기 전용 연결은 수행할 수 없습니다.For the primary role, all the replicas are configured for read-write access, which prevents read-intent connections to the primary replica in all situations. 동기 커밋 보조 역할은 기본 연결 액세스 구성("없음")을 사용하므로 보조 역할로는 모든 클라이언트 연결을 수행할 수 없습니다.The synchronous commit secondary role uses the default connection-access configuration ("none"), which prevents all client connections under the secondary role. 반대로 비동기 커밋 복제본은 보조 역할에서 읽기 전용 연결을 허용하도록 구성됩니다.In contrast, the asynchronous commit replicas are configured to permit read-intent connections under the secondary role. 다음 표에는 이러한 구성 예가 요약되어 있습니다.The following table summarize this example configuration:

복제본Replica 커밋 모드Commit Mode 초기 역할Initial Role 보조 역할에 대한 연결 액세스Connection Access for Secondary Role 주 역할에 대한 연결 액세스Connection Access for Primary Role
Replica1Replica1 동기Synchronous Primary 없음None 읽기/쓰기Read-write
Replica2Replica2 동기Synchronous 보조Secondary 없음None 읽기/쓰기Read-write
Replica3Replica3 비동기Asynchronous 보조Secondary 읽기 전용만Read-intentonly 읽기/쓰기Read-write
Replica4Replica4 비동기Asynchronous 보조Secondary 읽기 전용만Read-intent only 읽기/쓰기Read-write

일반적으로 이 시나리오 예에서는 동기-커밋 복제본 사이에서만 장애 조치(failover)가 수행되며 장애 조치(failover) 후 즉시 읽기 전용 응용 프로그램이 비동기-커밋 보조 복제본 중 하나에 다시 연결할 수 있습니다.Typically, in this example scenario, failovers occur only between the synchronous-commit replicas, and immediately after the failover, read-intent applications are able to reconnect to one of the asynchronous-commit secondary replicas. 그러나 메인 컴퓨팅 센터에 재해가 발생할 경우 동기-커밋 복제본은 모두 손실됩니다.However, when a disaster occurs at the main computing center both synchronous-commit replicas are lost. 위성 사이트의 데이터베이스 관리자는 비동기-커밋 보조 복제본에 강제 수동 장애 조치(failover)를 수행하여 응답합니다.The database administrator at the satellite site responds by performing a forced manual failover to an asynchronous-commit secondary replica. 나머지 보조 복제본의 보조 데이터베이스는 강제 장애 조치(failover)에 따라 일시 중지되므로 읽기 전용 작업 로드에 사용할 수 없습니다.The secondary databases on the remaining secondary replica are suspended by the forced failover, making them unavailable for read-only workloads. 읽기/쓰기 연결용으로 구성된 새로운 주 복제본에서는 읽기 전용 작업 로드가 읽기/쓰기 작업 로드와 경쟁할 수 없습니다.The new primary replica, which is configured for read-write connections, prevents the read-intent workload from competing with the read-write workload. 따라서 데이터베이스 관리자가 나머지 비동기-커밋 보조 복제본에서 보조 데이터베이스를 재개할 때까지 읽기 전용 클라이언트는 가용성 복제본에 연결할 수 없습니다.This means that until the database administrator resumes the secondary databases on the remaining asynchronous-commit secondary replica, read-intent clients cannot connect to any availability replica.

참고 항목See Also

Always On 가용성 그룹 개요(SQL Server) Overview of Always On Availability Groups (SQL Server)
가용성 그룹 수신기, 클라이언트 연결 및 응용 프로그램 장애 조치(failover)(SQL Server) Availability Group Listeners, Client Connectivity, and Application Failover (SQL Server)
통계Statistics