가용성 그룹 수신기 만들기 또는 구성(SQL Server)Create or Configure an Availability Group Listener (SQL Server)

이 항목에서는 , 또는 SQL Server Management StudioSQL Server Management Studio의 PowerShell을 사용하여 Always On 가용성 그룹에 대한 단일 Transact-SQLTransact-SQL가용성 그룹 수신기 SQL Server 2017SQL Server 2017를 만들거나 구성하는 방법에 대해 설명합니다.This topic describes how to create or configure a single availability group listener for an Always On availability group by using SQL Server Management StudioSQL Server Management Studio, Transact-SQLTransact-SQL, or PowerShell in SQL Server 2017SQL Server 2017.

중요

가용성 그룹에 대한 첫 번째 가용성 그룹 수신기를 만들려면 SQL Server Management StudioSQL Server Management Studio, Transact-SQLTransact-SQL또는 SQL ServerSQL Server PowerShell을 사용하는 것이 좋습니다.To create the first availability group listener of an availability group, we strongly recommend that you SQL Server Management StudioSQL Server Management Studio, Transact-SQLTransact-SQL, or SQL ServerSQL Server PowerShell. 추가 수신기를 만들려는 경우처럼 필요한 경우를 제외하고 WSFC 클러스터에서 수신기를 직접 만들지 마세요.Avoid creating a listener directly in the WSFC cluster except when necessary, for example, to create an additional listener.

시작하기 전에 Before You Begin

이 가용성 그룹에 대한 수신기가 이미 존재합니까? Does a Listener Exist for this Availability Group Already?

가용성 그룹에 대한 수신기가 이미 존재하는지 확인하려면To determine whether a listener already exists for the availability group

참고

수신기가 이미 있는 상태에서 추가 수신기를 만들려면 이 항목의 뒷부분에 나오는 가용성 그룹에 대한 추가 수신기를 만들려면(선택 사항)을 참조하세요.If a listener already exists and you want to create an additional listener, see To Create An Additional Listener for an Availability Group (Optional), later in this topic.

제한 사항 Limitations and Restrictions

  • SQL ServerSQL Server를 통해 가용성 그룹당 수신기를 하나만 만들 수 있습니다.You can create only one listener per availability group through SQL ServerSQL Server. 일반적으로 각 가용성 그룹에는 수신기가 하나만 필요합니다.Typically, each availability group requires only one listener. 그러나 고객 시나리오에 따라 하나의 가용성 그룹에 여러 개의 수신기가 필요한 경우도 있습니다.However, some customer scenarios require multiple listeners for one availability group. SQL Server를 통해 수신기를 만든 후 장애 조치(failover) 클러스터용 Windows PowerShell 또는 WSFC 장애 조치 클러스터 관리자를 사용하여 추가 수신기를 만들 수 있습니다.After creating a listener through SQL Server, you can use Windows PowerShell for failover clusters or the WSFC Failover Cluster Manager to create additional listeners. 자세한 내용은 이 항목의 뒷부분에 나오는 가용성 그룹의 추가 수신기를 만들려면(선택 사항)을 참조하세요.For more information, see To Create An Additional Listener for an Availability Group (Optional), later in this topic.

권장 사항 Recommendations

필수는 아니지만 여러 서브넷 구성에 대해 고정 IP 주소를 사용하는 것이 좋습니다.Using a static IP address is recommended, although not required, for multiple subnet configurations.

필수 구성 요소 Prerequisites

  • 주 복제본을 호스팅하는 서버 인스턴스에 연결되어 있어야 합니다.You must be connected to the server instance that hosts the primary replica.

  • 여러 서브넷에 대해 하나의 가용성 그룹 수신기를 설정하고 고정 IP 주소를 사용하려는 경우 수신기를 만들려는 가용성 그룹에 대해 가용성 복제본을 호스팅하는 모든 서브넷의 고정 IP 주소를 얻어야 합니다.If you are setting up an availability group listener across multiple subnets and plan to use static IP addresses, you need to get the static IP address of every subnet that hosts an availability replica for the availability group for which you are creating the listener. 일반적으로 네트워크 관리자에게 고정 IP 주소를 문의해야 합니다.Usually, you will need to ask your network administrators for the static IP addresses.

중요

첫 번째 수신기를 만들기 전에 Always On 클라이언트 연결(SQL Server)을 읽어 보세요.Before you create your first listener, we strongly recommend that you read Always On Client Connectivity (SQL Server).

가용성 그룹 수신기의 DNS 이름에 대한 요구 사항 Requirements for the DNS Name of an Availability Group Listener

각 가용성 그룹 수신기에는 도메인과 NetBIOS에서 고유한 DNS 호스트 이름이 필요합니다.Each availability group listener requires a DNS host name that is unique in the domain and in NetBIOS. DNS 이름은 문자열 값입니다.The 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자이지만 SQL Server Management StudioSQL Server Management Studio에서 지정할 수 있는 최대 길이는 15자입니다.The maximum length is 63 characters, however, in SQL Server Management StudioSQL Server Management Studio, the maximum length you can specify is 15 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자 접두사를 사용하여 두 클러스터 모두에서 가용성 그룹 수신기를 만들려고 하면 가상 네트워크 이름 리소스를 온라인으로 전환할 수 없다는 오류 메시지가 표시됩니다.If you have two WSFC clusters that are controlled by the same Active Directory and you try to create availability group listeners in both of clusters using names with more than 15 characters and an identical 15 character prefix, you will get an error reporting 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.

Windows 사용 권한 Windows Permissions

사용 권한Permissions 링크Link
가용성 그룹을 호스팅하는 WSFC 클러스터의 CNO(클러스터 개체 이름)에는 컴퓨터 개체 생성 권한이 있어야 합니다.The cluster object name (CNO) of WSFC cluster that is hosting the availability group must have Create Computer objects permission.

Active Directory에서 기본적으로 CNO는 명시적으로 컴퓨터 개체 생성 권한이 없으며 10개의 VCO(가상 컴퓨터 개체)를 만들 수 있습니다.In Active Directory, a CNO by default does not have Create Computer objects permission explicitly and can create 10 virtual computer objects (VCOs). 10개의 VCO를 만든 후에는 VCO를 추가로 만들 수 없습니다.After 10 VCOs are created, the creation of additional VCOs will fail. WSFC 클러스터의 CNO에 대한 권한을 명시적으로 부여하여 이 문제를 방지할 수 있습니다.You can avoid this by granting the permission explicitly to the WSFC cluster’s CNO. 삭제한 가용성 그룹에 대한 VCO는 Active Directory에서 자동으로 삭제되지 않으며 수동으로 삭제하지 않는 한 10개의 VCO 기본 제한 개수에 대해 계산됩니다.Note that VCOs for availability groups that you have deleted are not automatically deleted in Active Directory and count against your 10 VCO default limit unless they are manually deleted.

참고: 일부 조직에서는 보안 정책에 따라 컴퓨터 개체 생성 권한을 개별 사용자 계정에 부여하는 작업이 금지됩니다.Note: In some organizations, the security policy prohibits granting Create Computer objects permission to individual user accounts.
클러스터를 설치하는 사람의 계정을 구성하는 단계 - 장애 조치(Failover) 클러스터 단계별 가이드: Active Directory에서 계정 구성Steps for configuring the account for the person who installs the cluster in Failover Cluster Step-by-Step Guide: Configuring Accounts in Active Directory

클러스터 이름 계정을 미리 준비하는 단계 - 장애 조치(Failover) 클러스터 단계별 가이드: Active Directory에서 계정 구성Steps for prestaging the cluster name account in Failover Cluster Step-by-Step Guide: Configuring Accounts in Active Directory
조직에서 수신기 가상 네트워크 이름에 대한 컴퓨터 계정을 미리 준비해야 하는 경우 계정 운영자 그룹의 멤버 자격 또는 도메인 관리자의 지원이 필요합니다.If your organization requires that you prestage the computer account for a listener virtual network name, you will need membership in the Account Operator group or your domain administrator's assistance. 클러스터형 서비스 또는 응용 프로그램에 대한 계정을 미리 준비하는 단계 - 장애 조치(Failover) 클러스터 단계별 가이드: Active Directory에서 계정 구성Steps for prestaging an account for a clustered service or application in Failover Cluster Step-by-Step Guide: Configuring Accounts in Active Directory.

일반적으로 수신기 가상 네트워크 이름에 대한 컴퓨터 계정을 미리 준비하지 않는 것이 가장 간단합니다.Generally, it is simplest not to prestage the computer account for a listener virtual network name. 가능하면 WSFC 고가용성 마법사를 실행할 때 계정을 자동으로 만들고 구성하도록 합니다.If you can, let the account to be created and configured automatically when you run the WSFC High Availability wizard.

SQL Server 사용 권한 SQL Server Permissions

태스크Task 사용 권한Permissions
가용성 그룹 수신기를 만들려면To create an availability group listener 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.
기존 가용성 그룹 수신기를 수정하려면To modify an existing availability group listener 가용성 그룹에 대한 ALTER AVAILABILITY GROUP 권한, CONTROL AVAILABILITY GROUP 권한, ALTER ANY AVAILABILITY GROUP 권한 또는 CONTROL SERVER 권한이 필요합니다.Requires ALTER AVAILABILITY GROUP permission on the availability group, CONTROL AVAILABILITY GROUP permission, ALTER ANY AVAILABILITY GROUP permission, or CONTROL SERVER permission.

SQL Server Management Studio 사용 Using SQL Server Management Studio

새 가용성 그룹 마법사 는 새 가용성 그룹에 대한 수신기 만들기를 지원합니다.The New Availability Group wizard supports creation of the listener for a new availability group.

가용성 그룹 수신기를 만들거나 구성하려면To create or configure an availability group listener

  1. 개체 탐색기에서 가용성 그룹의 주 복제본을 호스팅하는 서버 인스턴스에 연결하고 서버 이름을 클릭하여 서버 트리를 확장합니다.In Object Explorer, connect to the server instance that hosts the primary replica of the availability group, and click the server name to expand the server tree.

  2. Always On 고가용성 노드 및 가용성 그룹 노드를 확장합니다.Expand the Always On High Availability node and the Availability Groups node.

  3. 수신기를 구성할 가용성 그룹을 클릭하고 다음 대체 방법 중 하나를 선택합니다.Click the availability group whose listener you want to configure, and choose one of the following alternatives:

    • 수신기를 만들려면 가용성 그룹 수신기 노드를 마우스 오른쪽 단추로 클릭하고 새 수신기 명령을 선택합니다.To create a listener, right-click the Availability group Listeners node, and select the New Listener command. 그러면 새 가용성 그룹 수신기 대화 상자가 열립니다.This opens the New Availability Group Listener dialog box. 자세한 내용은 이 항목의 뒷부분에 나와 있는 가용성 그룹 수신기 추가(대화 상자)를 참조하세요.For more information, see Add Availability Group Listener (Dialog Box), later in this topic.

    • 기존 수신기의 포트 수를 변경하려면 가용성 그룹 수신기 노드를 확장하고 수신기를 마우스 오른쪽 단추로 클릭한 다음 속성 명령을 선택합니다.To change the port number of an existing listener, expand the Availability group Listeners node, right-click the listener, and select the Properties command. 포트 필드에 새 포트 번호를 입력하고 확인을 클릭합니다.Enter the new port number into the Port field, and click OK.

새 가용성 그룹 수신기(대화 상자) New Availability Group Listener (Dialog Box)

수신기 DNS 이름Listener DNS Name
가용성 그룹 수신기의 DNS 호스트 이름을 지정합니다.Specifies the DNS host name of the availability group listener. DNS 이름은 문자열이며 도메인과 NetBIOS에서 고유해야 합니다.The DNS name is a string must be unique in the domain and in NetBIOS. 이 이름은 순서에 관계없이 영숫자 문자, 대시(-) 및 하이픈()만 포함할 수 있습니다.This name can contain only alphanumeric characters, dashes (-), and hyphens (), in any order. DNS 호스트 이름은 대/소문자를 구분하지 않습니다.DNS host names are case insensitive. 최대 길이는 15자입니다.The maximum length is 15 characters.

자세한 내용은 이 항목의 앞부분에 나오는 가용성 그룹 수신기의 DNS 이름에 대한 요구 사항을 참조하세요.For more information, see Requirements for the DNS Name of an Availability Group Listener, earlier in this topic.

포트Port
이 수신기에서 사용되는 TPC 포트입니다.The TPC port used by this listener.

네트워크 모드Network Mode
수신기에 사용되는 TCP 프로토콜을 나타내며 다음 중 하나입니다.Indicates the TCP protocol used by the listener, one of:

DHCPDHCP
수신기는 DHCP(동적 호스트 구성 프로토콜)를 실행하는 서버에서 할당되는 동적 IP 주소를 사용합니다.The listener will us a dynamic IP address that is assigned by a server running the Dynamic Host Configuration Protocol (DHCP). DHCP는 단일 서브넷으로 제한됩니다.DHCP is limited to a single subnet.

중요

프로덕션 환경에서는 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.

고정 IPStatic IP
수신기는 하나 이상의 고정 IP 주소를 사용합니다.The listener will use one or more static IP addresses. 추가 IP 주소는 선택적입니다.Additional IP addresses are optional. 여러 서브넷 간에 가용성 그룹 수신기를 만들려면 각 서브넷에 대해 수신기 구성에서 고정 IP 주소를 지정해야 합니다.To create an availability group listener across multiple subnets, for each subnet you must specify a static IP address in the listener configuration. 이러한 고정 IP 주소를 얻으려면 네트워크 관리자에게 문의하세요.Contact your network administrator to get these static IP addresses.

고정 IP 를 선택하면 네트워크 모드 필드 아래 서브넷 표가 나타납니다.If you select Static IP a subnet grid appears below the Network Mode field. 이 표에는 이 가용성 그룹 수신기가 액세스할 수 있는 각 서브넷에 대한 정보가 표시됩니다.This grid displays information about each subnet that can be accessed by this availability group listener. 추가를 클릭하여 고정 IP 주소를 추가할 때까지 이 표는 비어 있습니다.This grid is empty until you add a static IP address by clicking Add.

열은 다음과 같습니다.The columns are as follows:

서브넷Subnet
가용성 그룹 수신기에 추가하는 각 서브넷의 식별자를 표시합니다.Displays the identifier of each subnet that you add to the availability group listener.

IP 주소IP Address
지정된 서브넷의 IP 주소를 표시합니다.Displays the IP address of a given subnet. 지정된 서브넷에 대해 IP 주소는 IPv4 주소 또는 IPv6 주소입니다.For a given subnet, the IP address is either an IPv4 address or an IPv6 address.

추가Add
선택한 서브넷 또는 이 수신기에 대한 다른 서브넷에 고정 IP 주소를 추가하려면 클릭합니다.Click to add to add a static IP address to a selected subnet or to another subnet for this listener. 그러면 IP 주소 추가 대화 상자가 열립니다.This opens the Add IP Address dialog box. 자세한 내용은 IP 주소 추가 대화 상자(SQL Server Management Studio) 도움말 항목을 참조하세요.For more information, see the Add IP Address Dialog Box (SQL Server Management Studio) help topic.

제거Remove
이 수신기에서 선택한 서브넷을 제거하려면 클릭합니다.Click to remove the selected subnet from this listener.

확인OK
지정한 가용성 그룹 수신기를 만들려면 클릭합니다.Click to create the specified availability group listener.

Transact-SQL 사용 Using Transact-SQL

가용성 그룹 수신기를 만들거나 구성하려면To create or configure an availability group listener

  1. 주 복제본을 호스팅하는 서버 인스턴스에 연결합니다.Connect to the server instance that hosts the primary replica.

  2. CREATE AVAILABILITY GROUP 문의 LISTENER 옵션 또는 ALTER AVAILABILITY GROUP 문의 ADD LISTENER 옵션을 사용합니다.Use the LISTENER option of the CREATE AVAILABILITY GROUP statement or the ADD LISTENER option of the ALTER AVAILABILITY GROUP statement.

    다음 예에서는 MyAg2라는 기존 가용성 그룹에 가용성 그룹 수신기를 추가합니다.The following example adds an availability group listener to an existing availability group named MyAg2. 이 수신기에 대해 고유한 DNS 이름인 MyAg2ListenerIvP6이 지정됩니다.A unique DNS name, MyAg2ListenerIvP6, is specified for this listener. 두 복제본이 서로 다른 서브넷에 있으므로 수신기는 고정 IP 주소를 사용하는 것이 좋습니다.The two replicas are on different subnets, so , as recommended, the listener uses static IP addresses. 두 가용성 복제본 각각에 대해 IPv6 형식을 사용하는 고정 IP 주소인 2001:4898:f0:f00f::cf3c and 2001:4898:e0:f213::4ce2를 WITH IP 절이 지정합니다.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.

    ALTER AVAILABILITY GROUP MyAg2   
          ADD LISTENER ‘MyAg2ListenerIvP6’ ( WITH IP ( ('2001:db88:f0:f00f::cf3c'),('2001:4898:e0:f213::4ce2') ) , PORT = 60173 );   
    GO  
    

PowerShell 사용 Using PowerShell

가용성 그룹 수신기를 만들거나 구성하려면To create or configure an availability group listener

  1. 주 복제본을 호스트하는 서버 인스턴스로 디렉터리를 변경(cd)합니다.Change directory (cd) to the server instance that hosts the primary replica.

  2. 가용성 그룹 수신기를 만들거나 수정하려면 다음 cmdlet 중 하나를 사용합니다.To create or modify an availability group listener use one of the following cmdlets:

    New-SqlAvailabilityGroupListenerNew-SqlAvailabilityGroupListener
    새 가용성 그룹 수신기를 만들고 기존 가용성 그룹에 연결합니다.Creates a new availability group listener and attaches it to an existing availability group.

    예를 들어, 다음 New-SqlAvailabilityGroupListener 명령은 가용성 그룹 MyListener 에 대해 MyAg라는 가용성 그룹 수신기를 만듭니다.For example, the following New-SqlAvailabilityGroupListener command creates an availability group listener named MyListener for the availability group MyAg. 이 수신기는 가상 IP 주소로 -StaticIp 매개 변수에 전달된 IPv4 주소를 사용합니다.This listener will use the IPv4 address passed to the -StaticIp parameter as its virtual IP address.

    New-SqlAvailabilityGroupListener -Name MyListener `   
    -StaticIp '192.168.3.1/255.255.252.0' `   
    -Path SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MyAg  
    

    Set-SqlAvailabilityGroupListenerSet-SqlAvailabilityGroupListener
    기존 가용성 수신기에서 포트 설정을 수정합니다.Modifies the port setting on an existing availability group listener.

    예를 들어, 다음 Set-SqlAvailabilityGroupListener 명령은 MyListener 라는 가용성 그룹 수신기의 포트 번호를 1535로 설정합니다.For example, the following Set-SqlAvailabilityGroupListener command sets the port number for the availability group listener named MyListener to 1535. 이 포트는 수신기에 대한 연결을 수신하는 데 사용됩니다.This port is used to listen for connections to the listener.

    Set-SqlAvailabilityGroupListener -Port 1535 `   
    -Path SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MyAg\AGListeners\MyListener  
    

    Add-SqlAGListenerstaticIpAdd-SqlAGListenerstaticIp
    기존 가용성 그룹 수신기 구성에 고정 IP 주소를 추가합니다.Adds a static IP address to an existing availability group listener configuration. IP 주소는 서브넷이 있는 IPv4 주소이거나 IPv6 주소일 수 있습니다.The IP address can be an IPv4 address with subnet, or an IPv6 address.

    예를 들어, 다음 Add-SqlAGListenerstaticIp 명령은 가용성 그룹 MyListener 의 가용성 그룹 수신기 MyAg에 고정 IPv4 주소를 추가합니다.For example, the following Add-SqlAGListenerstaticIp command adds a static IPv4 address to the availability group listener MyListener on the availability group MyAg. 이 IPv6 주소는 255.255.252.0서브넷에서 수신기의 가상 IP 주소로 사용됩니다.This IPv6 address serves as the virtual IP address of the listener on the subnet 255.255.252.0. 가용성 그룹이 복수 서브넷에 있는 경우 각 서브넷에 대한 고정 IP 주소를 수신기에 추가해야 합니다.If the availability group spans multiple subnets, you should add a static IP address for each subnet to the listener.

    $path = "SQLSERVER:\SQL\PrimaryServer\InstanceName\AvailabilityGroups\MyAg\AGListeners\ MyListener" `   
    Add-SqlAGListenerstaticIp -Path $path `   
    -StaticIp "2001:0db8:85a3:0000:0000:8a2e:0370:7334"  
    
    참고

    cmdlet의 구문을 보려면 PowerShell 환경에서 Get-Help SQL ServerSQL Server cmdlet을 사용합니다.To view the syntax of a cmdlet, use the Get-Help cmdlet in the SQL ServerSQL Server PowerShell environment. 자세한 내용은 Get Help SQL Server PowerShell을 참조하세요.For more information, see Get Help SQL Server PowerShell.

    SQL Server PowerShell 공급자를 설정하고 사용하려면To set up and use the SQL Server PowerShell provider

문제 해결Troubleshooting

Active Directory 할당량으로 인한 가용성 그룹 수신기 만들기의 오류 Failure to Create An Availability Group Listener Because of Active Directory Quotas

참여하는 클러스터 노드 컴퓨터 계정에 대한 Active Directory 할당량에 도달하여 새 가용성 그룹 수신기를 만들지 못할 수도 있습니다.The creation of a new availability group listener may fail upon creation because you have reached an Active Directory quota for the participating cluster node machine account. 자세한 내용은 다음 문서를 참조하세요.For more information, see the following articles:

후속 작업: 가용성 그룹 수신기를 만든 후 Follow-up: After Creating an Availability Group Listener

MultiSubnetFailover 키워드 및 관련 기능 MultiSubnetFailover Keyword and Associated Features

MultiSubnetFailover 는 SQL Server 2012에서 Always On 가용성 그룹과 Always On 장애 조치(Failover) 클러스터 인스턴스를 사용하여 보다 빠르게 장애 조치할 수 있도록 하는 데 사용되는 새로운 연결 문자열 키워드입니다.MultiSubnetFailover is a new connection string keyword used to enable faster failover with Always On Availability Groups and Always On Failover Cluster Instances in SQL Server 2012. MultiSubnetFailover=True 가 연결 문자열에서 설정되면 다음 세 가지 하위 기능을 사용할 수 있습니다.The following three sub-features are enabled when MultiSubnetFailover=True is set in connection string:

  • Always On 가용성 그룹 또는 장애 조치(Failover) 클러스터 인스턴스에 대한 다중 서브넷 수신기로 보다 빠른 다중 서브넷 장애 조치Faster multi-subnet failover to a multi-subnet listener for an Always On Availability Group or Failover Cluster Instances.

  • Always On 가용성 그룹 또는 장애 조치(Failover) 클러스터 인스턴스에 대한 단일 서브넷 수신기로 보다 빠른 단일 서브넷 장애 조치Faster single subnet failover to a single subnet listener for an Always On Availability Group or Failover Cluster Instances.

    • 이 기능은 단일 서브넷의 단일 IP가 있는 수신기에 연결할 때 사용되며,This feature is used when connecting to a listener that has a single IP in a single subnet. 단일 서브넷 장애 조치(Failover) 속도를 높이기 위해 보다 적극적으로 TCP 연결을 다시 시도합니다.This performs more aggressive TCP connection retries to speed up single subnet failovers.
  • 다중 서브넷 Always On 장애 조치(Failover) 클러스터 인스턴스로 명명된 인스턴스 확인Named instance resolution to a multi-subnet Always On Failover Cluster Instance.

    • 서브넷 끝점이 여러 개인 Always On 장애 조치(Failover) 클러스터 인스턴스에 대한 명명된 인스턴스 확인 지원을 추가합니다.This is to add named instance resolution support for an Always On Failover Cluster Instances with multiple subnet endpoints.

    MultiSubnetFailover=True가 .NET Framework 3.5 또는 OLEDB에서 지원되지 않음MultiSubnetFailover=True Not Supported by NET Framework 3.5 or OLEDB

    문제: 가용성 그룹 또는 장애 조치(Failover) 클러스터 인스턴스에 각기 다른 서브넷의 여러 IP 주소를 사용하는 수신기 이름(WSFC 클러스터 관리자에서는 네트워크 이름 또는 클라이언트 액세스 지점이라고도 함)이 있고 .NET Framework 3.5 SP1 또는 SQL Native Client 11.0 OLEDB가 있는 ADO.NET을 사용하는 경우 가용성 그룹 수신기에 대한 클라이언트 연결 요청 중 50%가 연결 제한 시간을 초과할 수 있습니다.Issue: If your Availability Group or Failover Cluster Instance has a listener name (known as the network name or Client Access Point in the WSFC Cluster Manager) depending on multiple IP addresses from different subnets, and you are using either ADO.NET with .NET Framework 3.5SP1 or SQL Native Client 11.0 OLEDB, potentially 50% of your client-connection requests to the availability group listener will hit a connection timeout.

    해결 방법: 다음 작업 중 하나를 수행하는 것이 좋습니다.Workarounds: We recommend that you do one of the following tasks.

  • 클러스터 리소스를 조작할 권한이 없는 경우 연결 제한 시간을 30초로 변경합니다. 이 값은 20초 TCP 제한 시간 기간과 10초 버퍼를 더한 값입니다.If do not have the permission to manipulate cluster resources, change your connection timeout to 30 seconds (this value results in a 20-second TCP timeout period plus a 10-second buffer).

    장점: 서브넷 간 장애 조치(Failover)가 발생하는 경우 클라이언트 복구 시간이 짧습니다.Pros: If a cross-subnet failover occurs, client recovery time is short.

    단점: 클라이언트 연결 중 절반이 20초 이상 걸립니다.Cons: Half of the client connections will take more than 20 seconds

  • 클러스터 리소스를 조작할 권한이 있는 경우 더 권장하는 방법은 가용성 그룹 수신기의 네트워크 이름을 RegisterAllProvidersIP=0으로 설정하는 것입니다.If you have the permission to manipulate cluster resources, the more recommended approach is to set the network name of your availability group listener to RegisterAllProvidersIP=0. 자세한 내용은 이 항목의 뒷부분에 나오는 "RegisterAllProvidersIP 설정”을 참조하세요.For more information, see "RegisterAllProvidersIP Setting” later in this section.

    장점 : 클라이언트 연결 제한 시간 값을 증가시키지 않아도 됩니다.Pros: You do not need to increase your client-connection timeout value.

    단점: 서브넷 간 장애 조치(Failover)가 발생하는 경우 클라이언트 복구 시간은 HostRecordTTL 설정 및 사이트 간 DNS/AD 복제 일정의 설정에 따라 15분 이상이 될 수 있습니다.Cons: If a cross-subnet failover occurs, the client recovery time could be 15 minutes or longer, depending on your HostRecordTTL setting and the setting of your cross-site DNS/AD replication schedule.

RegisterAllProvidersIP 설정 RegisterAllProvidersIP Setting

SQL Server Management StudioSQL Server Management Studio, Transact-SQLTransact-SQL또는 PowerShell을 사용하여 가용성 그룹 수신기를 만들면 WSFC에서 RegisterAllProvidersIP 속성이 1(true)로 설정된 클라이언트 액세스 지점이 만들어집니다.When you use SQL Server Management StudioSQL Server Management Studio, Transact-SQLTransact-SQL, or PowerShell to create an availability group listener, the Client Access Point is created in WSFC with the RegisterAllProvidersIP property set to 1 (true). 이 속성 값의 효과는 클라이언트 연결 문자열에 따라 다음과 같이 달라집니다.The effect of this property value depends on the client connection string, as follows:

  • MultiSubnetFailover 를 true로 설정하는 연결 문자열Connection strings that set MultiSubnetFailover to true

    Always On 가용성 그룹Always On availability groups 은 클라이언트 연결 문자열이 권장 사항에 따라 를 지정하는 클라이언트에 대한 장애 조치(Failover) 후에 재연결 시간을 줄이기 위해 RegisterAllProvidersIP MultiSubnetFailover = True속성을 1로 설정합니다. sets the RegisterAllProvidersIP property to 1 in order to reduce re-connection time after a failover for clients whose client connection strings specify MultiSubnetFailover = True, as recommended. 수신기의 다중 서브넷 기능을 사용하려면 클라이언트에 MultiSubnetFailover 키워드를 지원하는 데이터 공급자가 필요할 수 있습니다.Note that to take advantage of the listener multi-subnet feature, your clients might require a data provider that supports the MultiSubnetFailover keyword. 다중 서브넷 장애 조치(Failover)의 드라이버 지원에 대한 자세한 내용은 Always On 클라이언트 연결(SQL Server)을 참조하세요.For information about driver support for multi-subnet failover, see Always On Client Connectivity (SQL Server).

    다중 서브넷 클러스터링에 대한 자세한 내용은 SQL Server 다중 서브넷 클러스터링(SQL Server)을 참조하세요.For information about multi-subnet clustering, see SQL Server Multi-Subnet Clustering (SQL Server).

    RegisterAllProvidersIP = 1일 때 WSFC 클러스터에서 WSFC 구성 유효성 검사 마법사를 실행하면 마법사가 다음과 같은 경고 메시지를 생성합니다.When RegisterAllProvidersIP = 1, if you run the WSFC Validate a Configuration Wizard on the WSFC cluster, the wizard generates the following warning message:

    “네트워크 이름 'Name:'의 RegisterAllProviderIP 속성이 1로 설정되어 있습니다. 현재 클러스터 구성에서는 이 값을 0으로 설정해야 합니다.”"The RegisterAllProviderIP property for network name 'Name:' is set to 1 For the current cluster configuration this value should be set to 0."

    이 메시지는 무시하세요.Please ignore this message.

  • MultiSubnetFailover 를 true로 설정하지 않는 연결 문자열Connection strings that do not set MultiSubnetFailover to true

    RegisterAllProvidersIP = 1일 때는 연결 문자열이 MultiSubnetFailover = True를 사용하지 않는 클라이언트에서 연결 대기 시간이 길어집니다.When RegisterAllProvidersIP = 1, any clients whose connection strings do not use MultiSubnetFailover = True, will experience high latency connections. 이는 이러한 클라이언트가 모든 IP에 순차적으로 연결을 시도하기 때문에 발생합니다.This occurs because these clients attempt connections to all IPs sequentially. 반면에 RegisterAllProvidersIP 를 0으로 변경하면 활성 IP 주소가 WSFC 클러스터의 클라이언트 액세스 지점에 등록되기 때문에 레거시 클라이언트에 대한 대기 시간이 줄어듭니다.In contrast, if RegisterAllProvidersIP is changed to 0, the active IP address is registered in the Client Access Point in the WSFC cluster, reducing latency for legacy clients. 따라서 가용성 그룹 수신기에 연결할 필요가 없고 MultiSubnetFailover 속성을 사용할 수 없는 레거시 클라이언트가 있을 경우 RegisterAllProvidersIP 를 0으로 변경하는 것이 좋습니다.Therefore, if you have legacy clients that that need to connect to an availability group listener and cannot use the MultiSubnetFailover property, we recommend that you change RegisterAllProvidersIP to 0.

    중요

    WSFC 클러스터(장애 조치(Failover) 클러스터 관리자 GUI)를 통해 가용성 그룹 수신기를 만들면 기본적으로 RegisterAllProvidersIP 는 0(false)으로 설정됩니다.When you create an availability group listener through the WSFC cluster (Failover Cluster Manager GUI), RegisterAllProvidersIP will be 0 (false) by default.

HostRecordTTL 설정 HostRecordTTL Setting

기본적으로 클라이언트는 클러스터 DNS 레코드를 20분 동안 캐시합니다.By default, clients cache cluster DNS records for 20 minutes. 캐시된 레코드에 대한 TTL(Time to Live)인 HostRecordTTL을 줄여 레거시 클라이언트가 더 빨리 다시 연결할 수 있습니다.By reducing HostRecordTTL, the Time to Live (TTL), for the cached record, legacy clients may reconnect more quickly. 하지만 HostRecordTTL 설정을 줄이면 DN 서버의 트래픽이 증가할 수 있습니다.However, reducing the HostRecordTTL setting may also result in increased traffic to the DN servers.

RegisterAllProvidersIP를 비활성화하고 TTL을 줄이는 샘플 PowerShell 스크립트 Sample PowerShell Script to Disable RegisterAllProvidersIP and Reduce TTL

다음 PowerShell 예에서는 수신기 리소스에 대한 RegisterAllProvidersIPHostRecordTTL 클러스터 매개 변수를 구성하는 방법을 보여 줍니다.The following PowerShell example demonstrates how to configure both the RegisterAllProvidersIP and HostRecordTTL cluster parameters for the listener resource. DNS 레코드는 기본 20분이 아닌 5분 동안 캐시됩니다.The DNS record will be cached for 5 minutes rather than the default 20 minutes. 두 클러스터 매개 변수를 모두 수정하면 MultiSubnetFailover 매개 변수를 사용할 수 없는 레거시 클라이언트에 대한 장애 조치(Failover) 후 올바른 IP 주소에 연결하는 시간이 줄어들 수 있습니다.Modifying both cluster parameters may reduce the time to connect to the correct IP address after a failover for legacy clients that cannot use the MultiSubnetFailover parameter. yourListenerName 을 변경할 수신기의 이름으로 바꿉니다.Replace yourListenerName with the name of the listener that you are changing.

Import-Module FailoverClusters  
Get-ClusterResource yourListenerName | Set-ClusterParameter RegisterAllProvidersIP 0   
Get-ClusterResource yourListenerName|Set-ClusterParameter HostRecordTTL 300  
Stop-ClusterResource yourListenerName  
Start-ClusterResource yourListenerName  

장애 조치(Failover) 중 복구 시간에 대한 자세한 내용은 Client Recovery Latency During Failover을 참조하세요.For more information about recovery times during failover, see Client Recovery Latency During Failover.

후속 권장 사항 Follow-up Recommendations

가용성 그룹 수신기를 만든 후:After you create an availability group listener:

  • 네트워크 관리자에게 요청하여 수신기의 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.

  • 가능한 경우 개발자가 클라이언트 연결 문자열을 업데이트하여 MultiSubnetFailover = True를 지정하도록 권장합니다.Encourage developers to update client connection strings to specify MultiSubnetFailover = True, if possible. 다중 서브넷 장애 조치(Failover)의 드라이버 지원에 대한 자세한 내용은 Always On 클라이언트 연결(SQL Server)을 참조하세요.For information about driver support for multi-subnet failover, see Always On Client Connectivity (SQL Server).

가용성 그룹의 추가 수신기 만들기(선택 사항) Create an Additional Listener for an Availability Group (Optional)

SQL Server를 통해 수신기를 하나 만든 후 다음과 같이 추가 수신기를 추가할 수 있습니다.After you create one listener through SQL Server, you can add an additional listener, as follows:

  1. 다음 도구 중 하나를 사용하여 수신기를 만듭니다.Create the listener using either of the following tools:

    • WSFC 장애 조치(Failover) 클러스터 관리자 사용:Using WSFC Failover Cluster Manager:

      1. 클라이언트 액세스 지점을 추가하고 IP 주소를 구성합니다.Add a client access point and configure the IP address.

      2. 수신기를 온라인 상태로 전환합니다.Bring the listener online.

      3. WSFC 가용성 그룹 리소스에 종속성을 추가합니다.Add a dependency to the WSFC availability group resource.

        장애 조치(Failover) 클러스터 관리자의 대화 상자와 탭에 대한 자세한 내용은 사용자 인터페이스: 장애 조치(Failover) 클러스터 관리자 스냅인을 참조하세요.For information about the dialog boxes and tabs of the Failover Cluster Manager, see User Interface: The Failover Cluster Manager Snap-In.

    • 장애 조치(failover) 클러스터용 Windows PowerShell 사용:Using Windows PowerShell for failover clusters:

      1. Add-ClusterResource 를 사용하여 네트워크 이름과 IP 주소 리소스를 만듭니다.Use Add-ClusterResource to create a network name and the IP address resources.

      2. Start-ClusterResource 를 사용하여 네트워크 이름 리소스를 시작합니다.Use Start-ClusterResource to start the network name resource.

      3. Add-ClusterResourceDependency 를 사용하여 네트워크 이름과 기존 SQL Server 가용성 그룹 리소스 간의 종속성을 설정합니다.Use Add-ClusterResourceDependency to set the dependency between the network name and the existing SQL Server Availability Group resource.

        장애 조치(failover) 클러스터용 Windows Powershell에 대한 자세한 내용은 서버 관리자 명령 개요를 참조하세요.For information about using Windows PowerShell for failover clusters, see Overview of Server Manager Commands.

  2. 새 수신기에서 SQL ServerSQL Server 수신 대기를 시작합니다.Start SQL ServerSQL Server listening on the new listener. 추가 수신기를 만든 후 가용성 그룹의 주 복제본을 호스팅하는 SQL ServerSQL Server 의 인스턴스에 연결하고 SQL Server Management StudioSQL Server Management Studio, Transact-SQLTransact-SQL또는 PowerShell을 사용하여 수신기 포트를 수정합니다.After creating the additional listener, connect to the instance of SQL ServerSQL Server that hosts the primary replica of the availability group and use SQL Server Management StudioSQL Server Management Studio, Transact-SQLTransact-SQL, or PowerShell to modify the listener port.

    자세한 내용은 동일한 가용성 그룹에 대해 여러 수신기를 만드는 방법 (SQL Server Always On 팀 블로그)을 참조하세요.For more information, see How to create multiple listeners for same availability group (a SQL Server Always On team blog).

참고 항목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)
SQL Server 다중 서브넷 클러스터링(SQL Server)SQL Server Multi-Subnet Clustering (SQL Server)