다음을 통해 공유


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

0 = 해결 중
1 = 기본
2 = 보조

Always On 가용성 그룹 역할에 대한 자세한 내용은 Always On 가용성 그룹이란?
role_desc nvarchar(60) Yes 에 대한 설명은 role다음 중 하나입니다.

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

0 = 보류 중인 장애 조치(failover)
1 = 보류 중
2 = 온라인
3 = 오프라인
4 = 실패
5 = 실패, 쿼럼 없음
NULL = 복제본이 로컬이 아닙니다.

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

PENDING_FAILOVER

PENDING

ONLINE

OFFLINE

FAILED

FAILED_NO_QUORUM

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

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

1 = 연결됨.

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

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

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

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

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

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

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

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

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

NOT_HEALTHY
PARTIALLY_HEALTHY
HEALTHY
last_connect_error_number int Yes 마지막 연결 오류의 번호입니다.
last_connect_error_description nvarchar(1024) Yes 메시지의 텍스트입니다 last_connect_error_number .
last_connect_error_timestamp 날짜/시간 Yes 오류가 발생한 시기를 last_connect_error_number 나타내는 날짜 및 시간 타임스탬프입니다.
write_lease_remaining_ticks bigint Yes 정보를 제공하기 위해서만 확인됩니다. 지원되지 않습니다. 향후 호환성은 보장되지 않습니다.
current_configuration_commit_start_time_utc 날짜/시간 Yes 정보를 제공하기 위해서만 확인됩니다. 지원되지 않습니다. 향후 호환성은 보장되지 않습니다.
is_internal bit Yes 정보를 제공하기 위해서만 확인됩니다. 지원되지 않습니다. 향후 호환성은 보장되지 않습니다.
operational_state_desc nvarchar(60) Yes 에 대한 설명은 operational_state다음 중 하나입니다.

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

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

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

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

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

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

2 = 정상입니다. 모든 복제본은 대상 동기화 상태에 있습니다. 동기-커밋 복제본이 동기화되고 비동기 커밋 복제본이 동기화됩니다.

역할 및 운영 상태

역할은 role지정된 가용성 복제본의 상태를 반영합니다. 작동 상태 ( operational_state복제본이 가용성 복제본의 모든 데이터베이스에 대한 클라이언트 요청을 처리할 준비가 되었는지 여부를 설명합니다. 다음 표에는 각 역할에 RESOLVINGPRIMARY대해 가능한 작업 상태가 요약되어 있습니다SECONDARY.

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

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

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

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

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

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

사용 권한

SQL Server 2019(15.x) 및 이전 버전에는 서버에 대한 권한이 필요합니다 VIEW SERVER STATE .

SQL Server 2022(16.x) 이상 버전에는 서버에 대한 권한이 필요합니다 VIEW SERVER PERFORMANCE STATE .