sys.dm_hadr_availability_replica_states(Transact-SQL)

적용 대상:SQL Server

로컬 복제본과 동일한 Always On 가용성 그룹의 각 원격 복제본에 대한 행 및 각 로컬 복제본에 대한 행을 반환합니다. 각 행에는 지정된 복제본의 상태에 대한 정보가 포함됩니다.

Important

지정된 가용성 그룹의 모든 복제본에 대한 정보를 얻으려면 주 복제본을 호스팅하는 서버 인스턴스에서 sys.dm_hadr_availability_replica_states 쿼리합니다. 가용성 그룹의 보조 복제본을 호스팅 중인 서버 인스턴스에 대해 쿼리한 경우 이 동적 관리 뷰에는 가용성 그룹에 대한 로컬 정보만 반환됩니다.

열 이름 데이터 형식 설명
replica_id uniqueidentifier 복제본의 고유 식별자입니다.
group_id uniqueidentifier 가용성 그룹의 고유한 식별자입니다.
is_local bit 복제본이 로컬인지 여부는 다음 중 하나입니다.

0 = 주 복제본이 로컬 서버 인스턴스에서 호스팅되는 가용성 그룹의 원격 보조 복제본을 나타냅니다. 이 값은 주 복제본 위치에서만 발생합니다.

1 = 로컬 복제본을 나타냅니다. 보조 복제본에서 복제본이 속한 가용성 그룹에 사용할 수 있는 유일한 값입니다.
역할 tinyint 로컬 복제본 또는 연결된 원격 복제본의 현재 Always On 가용성 그룹 역할( 다음 중 하나)

0 = 해결 중

1 = 기본

2 = 보조

Always On 가용성 그룹 역할에 대한 자세한 내용은 Always On 가용성 그룹 개요(SQL Server)를 참조하세요.
role_desc nvarchar(60) 역할에 대한 설명, 다음 중 하나:

해결

PRIMARY

SECONDARY
operational_state tinyint 복제본의 현재 작동 상태( 다음 중 하나)

0 = 보류 중인 장애 조치(failover)

1 = 보류 중

2 = 온라인

3 = 오프라인

4 = 실패

5 = 실패, 쿼럼 없음

NULL = 복제본이 로컬이 아닙니다.

자세한 내용은 이 항목의 뒷부분에 있는 역할 및 운영 상태를 참조하세요.
operational_state_desc nvarchar(60) 다음 중 하나인 operational_state 대한 설명입니다.

PENDING_FAILOVER

PENDING

ONLINE

OFFLINE

실패

FAILED_NO_QUORUM

NULL
recovery_health tinyint sys.dm_hadr_database_replica_states 동적 관리 뷰의 database_state 열 롤업 다음은 가능한 값 및 해당 설명입니다.

0 : 진행 중입니다. 하나 이상의 조인된 데이터베이스에 ONLINE 이외의 데이터베이스 상태가 있습니다(database_state 0이 아님).

1 : 온라인. 조인된 모든 데이터베이스의 데이터베이스 상태는 ONLINE입니다(database_state 0임).

NULL : is_local = 0
recovery_health_desc nvarchar(60) 다음 중 하나인 recovery_health 대한 설명입니다.

ONLINE_IN_PROGRESS

ONLINE

NULL
synchronization_health tinyint 모든 조인된 가용성 데이터베이스(복제본이라고도 함)의 데이터베이스 동기화 상태(synchronization_state) 롤업 및 복제본의 가용성 모드(동기-커밋 또는 비동기 커밋 모드)를 반영합니다. 롤업은 복제본의 데이터베이스에 대한 최소 정상 누적 상태를 반영합니다. 다음은 가능한 값 및 해당 설명입니다.

0: 정상이 아닙니다. 조인된 데이터베이스가 하나 이상 NOT SYNCHRONIZING 상태입니다.

1: 부분적으로 정상입니다. 일부 복제본은 대상 동기화 상태가 아닙니다. 동기-커밋 복제본은 동기화되어야 하며 비동기-커밋 복제본은 동기화되어야 합니다.

2: 정상입니다. 모든 복제본은 대상 동기화 상태에 있습니다. 동기-커밋 복제본이 동기화되고 비동기 커밋 복제본이 동기화됩니다.
synchronization_health_desc nvarchar(60) 다음 중 하나인 synchronization_health 대한 설명입니다.

NOT_HEALTHY

PARTIALLY_HEALTHY

정상
connected_state tinyint 보조 복제본이 현재 주 복제본에 연결되어 있는지 여부입니다. 가능한 값은 설명과 함께 아래에 나와 있습니다.

0: 연결이 끊어졌습니다. DISCONNECTED 상태에 대한 가용성 복제본의 응답은 해당 역할에 따라 달라집니다. 주 복제본에서 보조 복제본의 연결이 끊어지면 보조 데이터베이스가 주 복제본에서 NOT SYNCHRONIZED로 표시되어 보조 복제본이 다시 연결되기를 기다립니다. 보조 복제본에서 연결이 끊어진 것을 감지하면 보조 복제본이 주 복제본에 다시 연결하려고 시도합니다.

1: 연결됨.

각 주 복제본이 동일한 가용성 그룹의 모든 보조 복제본에 대한 연결 상태를 추적합니다. 보조 복제본은 주 복제본에 대해서만 연결 상태를 추적합니다.
connected_state_desc nvarchar(60) 다음 중 하나인 connection_state 대한 설명입니다.

DISCONNECTED

CONNECTED
last_connect_error_number int 마지막 연결 오류의 번호입니다.
last_connect_error_description nvarchar(1024) last_connect_error_number 메시지의 텍스트입니다.
last_connect_error_timestamp datetime last_connect_error_number 오류가 발생한 시기를 나타내는 날짜 및 시간 타임스탬프입니다.

역할 및 운영 상태

역할, 역할은 지정된 가용성 복제본의 상태와 운영 상태를 반영하며, operational_state 복제본이 가용성 복제본의 모든 데이터베이스에 대한 클라이언트 요청을 처리할 준비가 되었는지 여부를 설명합니다. 다음은 각 역할에 대해 가능한 작업 상태(RESOLVING, PRIMARY 및 SECONDARY)에 대한 요약입니다.

해결: 가용성 복제본이 RESOLVING 역할에 있는 경우 가능한 작업 상태는 다음 표와 같습니다.

작동 상태 설명
PENDING_FAILOVER 가용성 그룹에 대해 장애 조치(failover) 명령이 처리되고 있습니다.
OFFLINE 가용성 복제본에 대한 모든 구성 데이터는 WSFC 클러스터 및 로컬 메타데이터에서도 업데이트되었지만 현재 가용성 그룹에는 주 복제본이 없습니다.
실패 WSFC 클러스터에서 정보를 검색하려고 시도하는 동안 읽기 오류가 발생했습니다.
FAILED_NO_QUORUM 로컬 WSFC 노드에는 쿼럼이 없습니다. 유추된 상태입니다.

주: 가용성 복제본이 주 역할을 수행하는 경우 현재 주 복제본입니다. 가능한 작업 상태는 다음 표와 같습니다.

작동 상태 설명
PENDING 일시적 상태이지만 작업자가 요청을 처리할 수 없는 경우 주 복제본이 이 상태에서 중단될 수 있습니다.
ONLINE 가용성 그룹 리소스가 온라인 상태이고 모든 데이터베이스 작업자 스레드가 선택되었습니다.
실패 가용성 복제본은 WSFC 클러스터에서 읽거나 쓸 수 없습니다.

보조: 가용성 복제본이 보조 역할을 수행하는 경우 현재 보조 복제본입니다. 가능한 작동 상태는 아래 표에 나와 있습니다.

작동 상태 설명
ONLINE 로컬 보조 복제본은 주 복제본에 연결됩니다.
실패 로컬 보조 복제본은 WSFC 클러스터에서 읽거나 쓸 수 없습니다.
NULL 주 복제본에서 이 값은 행이 보조 복제본과 관련되어 있을 때 반환됩니다.

사용 권한

서버에 대한 VIEW SERVER STATE 권한이 필요합니다.

SQL Server 2022 이상에 대한 권한

서버에 대한 VIEW SERVER PERFORMANCE STATE 권한이 필요합니다.

참고 항목

Always On 가용성 그룹 개요(SQL Server)
가용성 그룹 모니터링(Transact-SQL)