sys.dm_hadr_availability_replica_states(Transact-SQL)

각 로컬 가용성 복제본의 상태를 보여주는 행과 로컬 복제본과 동일한 AlwaysOn 가용성 그룹의 각 원격 가용성 복제본에 대한 행을 반환합니다. 각 행에는 지정된 가용성 복제본의 상태에 대한 정보가 들어 있습니다.

중요 정보중요

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

열 이름

데이터 형식

설명

replica_id

uniqueidentifier

가용성 복제본의 고유한 식별자입니다.

group_id

uniqueidentifier

가용성 그룹의 고유한 식별자입니다.

is_local

bit

가용성 복제본이 로컬인지 여부를 나타나며 다음 중 하나입니다.

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

1 = 로컬 가용성 복제본을 나타냅니다. 보조 복제본에서는 복제본이 속하는 가용성 그룹에 대해 이 값만 사용할 수 있습니다.

역할

tinyint

로컬 가용성 복제본 또는 연결된 원격 가용성 복제본의 현재 AlwaysOn 가용성 그룹 역할이며 다음 중 하나입니다.

0 = 확인 중

1 = 주

2 = 보조

AlwaysOn 가용성 그룹 역할에 대한 자세한 내용은 AlwaysOn 가용성 그룹 개요(SQL Server)을 참조하십시오.

role_desc

nvarchar(60)

role에 대한 설명이며 다음 중 하나입니다.

RESOLVING

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

FAILED_NO_QUORUM

NULL

recovery_health

tinyint

sys.dm_hadr_database_replica_states 동적 관리 뷰의 database_state 열에 대한 롤업이며, 다음 중 하나입니다.

설명

0

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

1

온라인. 모든 조인된 데이터베이스의 데이터베이스 상태가 온라인입니다(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

HEALTHY

connected_state

tinyint

보조 복제본이 주 복제본에 현재 연결되어 있는지 여부를 나타내며 다음 중 하나입니다.

설명

0

연결 끊김 DISCONNECTED 상태에 대한 가용성 복제본의 응답은 역할별로 다음과 같이 다릅니다.

  • 주 복제본에서 보조 복제본의 연결이 끊어지면 보조 데이터베이스는 주 복제본에 동기화되지 않음으로 표시되고 주 복제본은 보조 복제본이 다시 연결될 때까지 기다립니다.

  • 보조 복제본에서 보조 복제본의 연결이 끊어지면 보조 복제본은 주 복제본에 다시 연결하려고 시도합니다.

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

가용성 복제본이 RESOLVING 역할인 경우 가능한 작동 상태는 다음과 같습니다.

작동 상태

설명

PENDING_FAILOVER

장애 조치(failover) 명령이 가용성 그룹에 대해 처리되고 있습니다.

OFFLINE

가용성 복제본에 대한 모든 구성 데이터가 WSFC 클러스터와 로컬 메타데이터에서 업데이트되었지만 가용성 그룹에 현재 주 복제본이 부족합니다.

FAILED

WSFC 클러스터에서 정보를 검색하려고 시도하는 동안 읽기 오류가 발생 했습니다.

FAILED_NO_QUORUM

로컬 WSFC 노드에 쿼럼이 없습니다. 유추된 상태입니다.

PRIMARY

가용성 복제본이 PRIMARY 역할을 수행 중이면 현재 주 복제본입니다. 가능한 작동 상태는 다음과 같습니다.

작동 상태

설명

PENDING

임시 상태이지만, 작업자가 요청을 처리할 수 없는 경우 주 복제본이 이 상태에서 멈출 수 있습니다.

ONLINE

가용성 그룹 리소스가 온라인 상태이고 모든 데이터베이스 작업자 스레드가 선택되었습니다.

FAILED

가용성 복제본이 WSFC 클러스터에서 읽거나 쓸 수 없습니다.

SECONDARY

가용성 복제본이 SECONDARY 역할을 수행 중이면 현재 보조 복제본입니다. 가능한 작동 상태는 다음과 같습니다.

작동 상태

설명

ONLINE

로컬 보조 복제본이 주 복제본에 연결되어 있습니다.

FAILED

로컬 보조 복제본이 WSFC 클러스터에서 읽거나 쓸 수 없습니다.

NULL

주 복제본에서 행이 보조 복제본과 관련이 있는 경우 이 값이 반환됩니다.

보안

사용 권한

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

참고 항목

개념

AlwaysOn 가용성 그룹 개요(SQL Server)

가용성 그룹 모니터링(Transact-SQL)