이 항목에서는 Always On 가용성 그룹에 대한 서버 인스턴스를 구성하는 일반적인 문제를 해결하는 데 도움이 되는 정보를 제공합니다. 일반적인 구성 문제로는 Always On 가용성 그룹이 비활성화되고, 계정이 잘못 구성되고, 데이터베이스 미러링 엔드포인트가 없거나, 엔드포인트에 액세스할 수 없음(SQL Server 오류 1418), 네트워크 액세스가 없고, 데이터베이스 조인 명령이 실패합니다(SQL Server 오류 35250).
비고
Always On 가용성 그룹 필수 구성 요소를 충족하는지 확인합니다. 자세한 내용은 AlwaysOn 가용성 그룹에 대한 필수 구성 요소, 제한 사항 및 권장 사항(SQL Server)을 참조하세요.
이 주제에서 다루는 내용:
| 섹션 | 설명 |
|---|---|
| AlwaysOn 가용성 그룹을 사용할 수 없음 | ALWAYS On 가용성 그룹에 대해 SQL Server 인스턴스를 사용하도록 설정하지 않은 경우 인스턴스는 가용성 그룹 만들기를 지원하지 않으며 가용성 복제본을 호스트할 수 없습니다. |
| 계정 | SQL Server가 실행 중인 계정을 올바르게 구성하기 위한 요구 사항을 설명합니다. |
| 엔드포인트 | 서버 인스턴스의 데이터베이스 미러링 엔드포인트 문제를 진단하는 방법을 설명합니다. |
| 시스템 이름 | 엔드포인트 URL에서 서버 인스턴스의 시스템 이름을 지정하기 위한 대안을 요약합니다. |
| 네트워크 액세스 | 가용성 복제본을 호스팅하는 각 서버 인스턴스가 TCP를 통해 다른 각 서버 인스턴스의 포트에 액세스할 수 있어야 한다는 요구 사항을 문서화합니다. |
| 엔드포인트 액세스(SQL Server 오류 1418) | 이 SQL Server 오류 메시지에 대한 정보를 포함합니다. |
| 데이터베이스 조인 실패(SQL Server 오류 35250) | 주 복제본에 대한 연결이 활성화되지 않았기 때문에 보조 데이터베이스를 가용성 그룹에 조인하지 못한 가능한 원인과 해결 방법을 설명합니다. |
| Read-Only 라우팅이 제대로 작동하지 않음 | |
| 관련 작업 | 특히 가용성 그룹 구성 문제 해결과 관련된 SQL Server 2014 온라인 설명서의 작업 지향 항목 목록을 포함합니다. |
| 관련 내용 | SQL Server 온라인 설명서 외부에 있는 관련 리소스 목록을 포함합니다. |
AlwaysOn 가용성 그룹을 사용할 수 없음
SQL Server 2014의 각 인스턴스에서 Always On 가용성 그룹 기능을 사용하도록 설정해야 합니다. 자세한 내용은 AlwaysOn 가용성 그룹 사용 및 사용 안 함(SQL Server)을 참조하세요.
계정
SQL Server가 실행 중인 계정을 올바르게 구성해야 합니다.
계정에 올바른 권한이 있나요?
파트너가 동일한 도메인 사용자 계정으로 실행되는 경우 올바른 사용자 로그인이 두 마스터 데이터베이스에 자동으로 존재합니다. 이렇게 하면 데이터베이스의 보안 구성이 간소화되며 권장됩니다.
두 서버 인스턴스가 서로 다른 계정으로 실행되는 경우 각 계정의 로그인을 원격 서버 인스턴스의 마스터 에서 만들어야 하며, 해당 로그인에는 해당 서버 인스턴스의 데이터베이스 미러링 엔드포인트에 연결할 수 있는 CONNECT 권한이 부여되어야 합니다. 자세한 내용은데이터베이스 미러링 또는 AlwaysOn 가용성 그룹(SQL Server)에 대한 로그인 계정 설정을 참조하세요.
SQL Server가 기본 제공 계정(예: 로컬 시스템, 로컬 서비스 또는 네트워크 서비스) 또는 비도메인 계정으로 실행되는 경우 엔드포인트 인증에 인증서를 사용해야 합니다. 서비스 계정이 동일한 도메인의 도메인 계정을 사용하는 경우 모든 복제본 위치에서 각 서비스 계정에 대한 CONNECT 액세스 권한을 부여하도록 선택하거나 인증서를 사용할 수 있습니다. 자세한 내용은데이터베이스 미러링 엔드포인트에 인증서 사용(Transact-SQL)을 참조하세요.
엔드포인트
엔드포인트를 올바르게 구성해야 합니다.
가용성 복제본(각 복제본 위치)을 호스트하려는 SQL Server의 각 인스턴스에 데이터베이스 미러링 엔드포인트가 있는지 확인합니다. 데이터베이스 미러링 엔드포인트가 지정된 서버 인스턴스에 있는지 여부를 확인하려면 sys.database_mirroring_endpoints 카탈로그 뷰를 사용합니다. 자세한 내용은 Windows 인증용 데이터베이스 미러링 엔드포인트 만들기(Transact-SQL) 또는 데이터베이스 미러링 엔드포인트가 아웃바운드 연결에 인증서를 사용하도록 허용(Transact-SQL)을 참조하세요.
포트 번호가 올바른지 확인합니다.
서버 인스턴스의 데이터베이스 미러링 엔드포인트와 현재 연결된 포트를 식별하려면 다음 Transact-SQL 문을 사용합니다.
SELECT type_desc, port FROM sys.tcp_endpoints; GO설명하기 어려운 Always On 가용성 그룹 설정 문제의 경우 각 서버 인스턴스를 검사하여 올바른 포트에서 수신 대기하는지 여부를 확인하는 것이 좋습니다. 포트 가용성을 확인하는 방법에 대한 자세한 내용은 MSSQLSERVER_1418 참조하세요.
엔드포인트가 시작되었는지 확인합니다(STATE=STARTED). 각 서버 인스턴스에서 다음 Transact-SQL 문을 사용합니다.
SELECT state_desc FROM sys.database_mirroring_endpointsstate_desc 열에 대한 자세한 내용은 sys.database_mirroring_endpoints(Transact-SQL)를 참조하세요.
엔드포인트를 시작하려면 다음 Transact-SQL 문을 사용합니다.
ALTER ENDPOINT Endpoint_Mirroring STATE = STARTED AS TCP (LISTENER_PORT = <port_number>) FOR database_mirroring (ROLE = ALL); GO자세한 내용은 ALTER ENDPOINT(Transact-SQL)를 참조하세요.
다른 서버의 로그인에 CONNECT 권한이 있는지 확인합니다. 엔드포인트에 대한 CONNECT 권한이 있는 사용자를 확인하려면 각 서버 인스턴스에서 다음 Transact-SQL 문을 사용합니다.
SELECT 'Metadata Check'; SELECT EP.name, SP.STATE, CONVERT(nvarchar(38), suser_name(SP.grantor_principal_id)) AS GRANTOR, SP.TYPE AS PERMISSION, CONVERT(nvarchar(46),suser_name(SP.grantee_principal_id)) AS GRANTEE FROM sys.server_permissions SP , sys.endpoints EP WHERE SP.major_id = EP.endpoint_id ORDER BY Permission,grantor, grantee; GO
시스템 이름
엔드포인트 URL에 있는 서버 인스턴스의 시스템 이름에 대해 시스템을 명확하게 식별하는 모든 이름을 사용할 수 있습니다. 서버 주소는 시스템 이름(시스템이 동일한 도메인에 있는 경우), 정규화된 도메인 이름 또는 IP 주소(가급적 고정 IP 주소)일 수 있습니다. 정규화된 도메인 이름을 사용하면 작동이 보장됩니다. 자세한 내용은 가용성 복제본(SQL Server) 추가 또는 수정 시 엔드포인트 URL 지정을 참조하세요.
네트워크 액세스
가용성 복제본을 호스팅하는 각 서버 인스턴스는 TCP를 통해 다른 각 서버 인스턴스의 포트에 액세스할 수 있어야 합니다. 이는 서버 인스턴스가 서로 신뢰하지 않는 다른 도메인(신뢰할 수 없는 도메인)에 있는 경우에 특히 중요합니다.
엔드포인트 액세스(SQL Server 오류 1418)
이 SQL Server 메시지는 엔드포인트 URL에 지정된 서버 네트워크 주소에 연결할 수 없거나 존재하지 않음을 나타내며, 네트워크 주소 이름을 확인하고 명령을 다시 실행할 것을 제안합니다. 자세한 내용은 MSSQLSERVER_1418 참조하세요.
데이터베이스 조인 실패(SQL Server 오류 35250)
이 섹션에서는 주 복제본에 대한 연결이 활성화되지 않았기 때문에 보조 데이터베이스를 가용성 그룹에 조인하지 못한 가능한 원인과 해결 방법을 설명합니다.
해결 방법:
방화벽 설정을 확인하여 주 복제본을 호스트하는 서버 인스턴스와 보조 복제본(기본적으로 포트 5022) 간에 엔드포인트 포트 통신을 허용하는지 여부를 확인합니다.
네트워크 서비스 계정에 엔드포인트에 대한 연결 권한이 있는지 확인합니다.
Read-Only 라우팅이 제대로 작동하지 않음
다음 구성 값 설정을 확인하고 필요한 경우 수정합니다.
| 에... | 조치 | 코멘트 | 링크 | |
|---|---|---|---|---|
|
현재 주 복제본 | 가용성 그룹 수신기가 온라인 상태인지 확인합니다. |
수신기가 온라인인지 확인하려면 다음을 수행합니다.SELECT * FROM sys.dm_tcp_listener_states;오프라인 수신기를 다시 시작하려면 다음을 수행합니다. ALTER AVAILABILITY GROUP myAG RESTART LISTENER 'myAG_Listener'; |
sys.dm_tcp_listener_states(Transact-SQL) 가용성 그룹 수정 (Transact-SQL) |
|
현재 주 복제본 | READ_ONLY_ROUTING_LIST에는 읽을 수 있는 보조 복제본을 호스팅하는 서버 인스턴스만 포함되어 있는지 확인하십시오. |
읽을 수 있는 보조 복제본을 식별하려면 sys.availability_replicas(secondary_role_allow_connections_desc 열) 읽기 전용 라우팅 목록을 보려면 sys.availability_read_only_routing_lists 읽기 전용 라우팅 목록을 변경하려면 다음을 수행 합니다. ALTER AVAILABILITY GROUP |
sys.availability_replicas(Transact-SQL) sys.availability_read_only_routing_lists(Transact-SQL) 가용성 그룹 수정 (Transact-SQL) |
|
read_only_routing_list에 있는 각 복제본 | Windows 방화벽이 READ_ONLY_ROUTING_URL 포트를 차단하지 않는지 확인합니다. | - | 데이터베이스 엔진 액세스에 대한 Windows 방화벽 구성 |
|
read_only_routing_list의 모든 복제본 | SQL Server 구성 관리자에서 다음을 확인합니다. SQL Server 원격 연결을 사용할 수 있습니다. TCP/IP를 사용할 수 있습니다. IP 주소가 올바르게 구성됩니다. |
- |
서버 속성 보기 또는 변경(SQL Server) 특정 TCP 포트에서 수신 대기하도록 서버 구성(SQL Server 구성 관리자) |
|
read_only_routing_list에 있는 모든 복제본 | READ_ONLY_ROUTING_URL(TCP://system-address:port)에 올바른 FQDN(정규화된 도메인 이름) 및 포트 번호가 포함되어 있는지 확인합니다. |
- |
AlwaysOn에 대한 read_only_routing_url 계산 sys.availability_replicas(Transact-SQL) 가용성 그룹 수정 (Transact-SQL) |
|
클라이언트 시스템 | 클라이언트 드라이버가 읽기 전용 라우팅을 지원하는지 확인합니다. | - | AlwaysOn 클라이언트 연결(SQL Server) |
관련 작업
관련 내용
또한 참조하십시오
데이터베이스 미러링 및 AlwaysOn 가용성 그룹(SQL Server)클라이언트 네트워크 구성필수 구성 요소, 제한 사항 및 AlwaysOn 가용성 그룹에 대한 권장 사항에 대한 전송 보안(SQL Server)