가용성 그룹 자동 장애 조치에 대한 유연한 장애 조치(Failover) 정책(SQL Server)

유연한 장애 조치(Failover) 정책을 통해 가용성 그룹에 대해 자동 장애 조치를 수행해야 하는 상태를 세부적으로 제어할 수 있습니다. 자동 장애 조치를 트리거하는 오류 상태 및 상태 확인 빈도를 변경하여 자동 장애 조치가 수행될 가능성을 높이거나 줄임으로써 고가용성에 대한 SLA를 지원할 수 있습니다.

가용성 그룹에 대한 유연한 장애 조치(Failover) 정책은 가용성 그룹의 오류 상태 수준 및 상태 확인 제한 시간 임계값으로 정의합니다. 가용성 그룹이 해당 오류 상태 수준 또는 해당 상태 확인 제한 시간 임계값을 초과했음이 감지되면 가용성 그룹의 리소스 DLL은 WSFC(Windows Server 장애 조치(Failover) 클러스터링) 클러스터에 다시 응답합니다. 그러면 WSFC 클러스터는 보조 복제본으로 자동 장애 조치를 시작합니다.

중요 정보중요

가용성 그룹이 해당 WSFC 오류 임계값을 초과하면 WSFC 클러스터가 가용성 그룹에 대해 자동 장애 조치를 시도하지 않습니다. 또한 클러스터 관리자가 실패한 리소스 그룹을 수동으로 온라인 상태로 만들거나 데이터베이스 관리자가 가용성 그룹의 수동 장애 조치를 수행할 때까지 가용성 그룹의 WSFC 리소스 그룹이 실패한 상태로 유지됩니다. WSFC 오류 임계값은 특정 기간 동안 가용성 그룹에 대해 지원되는 최대 오류 수로 정의됩니다. 기본 기간은 6시간이며, 이 기간 동안의 최대 오류 수에 대한 기본값은 n-1입니다. 여기서 n은 WSFC 노드의 수입니다. 지정된 가용성 그룹에 대한 오류-임계값 값을 변경하려면 WSFC 장애 조치(Failover) 관리자 콘솔을 사용하십시오.

이 항목에는 다음과 같은 섹션이 포함되어 있습니다.

  • 상태 확인 제한 시간 임계값

  • 오류 상태 수준

  • 관련 태스크

  • 관련 내용

상태 확인 제한 시간 임계값

가용성 그룹의 WSFC 리소스 DLL은 주 복제본을 호스팅하는 SQL Server 인스턴스에서 sp_server_diagnostics 저장 프로시저를 호출하여 주 복제본에 대해 상태 확인을 수행합니다. sp_server_diagnostics는 가용성 그룹에 대한 상태 확인 제한 시간 임계값의 1/3에 해당하는 간격으로 결과를 반환합니다. 기본 상태 확인 제한 시간 임계값은 30초이며 이 값에 도달하면 sp_server_diagnostics가 10초 간격으로 결과를 반환합니다. sp_server_diagnostics가 느리거나 정보를 반환하지 않는 경우 리소스 DLL은 주 복제본이 응답하지 않는 것으로 결정하기 전에 상태 확인 제한 시간 임계값의 전체 간격 동안 대기합니다. 주 복제본이 응답하지 않을 경우 자동 장애 조치(현재 지원되는 경우)가 시작됩니다.

중요 정보중요

sp_server_diagnostics는 데이터베이스 수준에서 상태 확인을 수행하지 않습니다.

맨 위로 이동 링크와 함께 사용되는 화살표 아이콘[맨 위로 이동]

오류 상태 수준

sp_server_diagnostics에서 반환하는 진단 데이터 및 상태 정보는 가용성 그룹의 오류 상태 수준에 따라 자동 장애 조치가 수행되도록 합니다. 오류 상태 수준은 자동 장애 조치를 트리거하는 오류 상태를 지정합니다. 가장 낮은 제한 수준 1에서 가장 높은 제한 수준 5까지의 다섯 가지 오류 상태 수준이 있습니다. 특정 수준은 그보다 낮은 모든 제한 수준을 포함합니다. 따라서 가장 엄격한 수준 5에는 그보다 낮은 4개의 제한 상태가 포함됩니다.

중요 정보중요

손상된 데이터베이스 및 손상될 가능성이 있는 데이터베이스는 실패 조건 수준에 의해 검색되지 않습니다. 따라서 손상 원인이 하드웨어 오류, 데이터 손상 또는 다른 문제점인지와 관계없이 손상된 데이터베이스 또는 손상될 가능성이 있는 데이터베이스는 자동 장애 조치(Failover)를 트리거하지 않습니다.

다음 표에서는 각 수준에 해당하는 오류 상태를 설명합니다.

수준

오류 상태

Transact-SQL 값

PowerShell 값

1

서버 작동 중지 시. 다음과 같은 경우 자동 장애 조치를 시작하도록 지정합니다.

제한 수준이 가장 낮은 상태입니다.

1

OnServerDown

2

서버 응답 없음 발생 시. 다음과 같은 경우 자동 장애 조치를 시작하도록 지정합니다.

  • SQL Server 인스턴스가 클러스터에 연결되어 있지 않고 가용성 그룹의 사용자 지정 상태 확인 제한 시간 임계값이 초과된 경우

  • 가용성 복제본이 오류 상태에 있는 경우

2

OnServerUnresponsive

3  

중대 서버 오류 발생 시. 분리된 스핀 잠금, 중대한 쓰기 액세스 위반 또는 과도한 덤프와 같이 심각한 SQL Server 내부 오류가 발생할 경우 자동 장애 조치를 시작하도록 지정합니다.

이 값은 기본 수준입니다.

3

OnCriticalServerError

4

일반 서버 오류 발생 시. SQL Server 내부 리소스 풀에서 지속적인 메모리 부족 상태와 같은 일반적인 SQL Server 내부 오류가 발생할 경우 자동 장애 조치를 시작하도록 지정합니다.

4

OnModerateServerError

5

지정된 오류 상태 발생 시. 다음과 같은 지정된 오류 상태가 발생할 경우 자동 장애 조치를 시작하도록 지정합니다.

  • SQL 엔진 작업자 스레드가 소진된 경우

  • 해결할 수 없는 교착 상태가 발견된 경우

제한 수준이 가장 높은 상태입니다.

5

OnAnyQualifiedFailureConditions

[!참고]

클라이언트 요청에 대해 SQL Server 인스턴스의 응답이 없는 것은 가용성 그룹과 관련이 없습니다.

맨 위로 이동 링크와 함께 사용되는 화살표 아이콘[맨 위로 이동]

관련 태스크

자동 장애 조치를 구성하려면

맨 위로 이동 링크와 함께 사용되는 화살표 아이콘[맨 위로 이동]

관련 내용

맨 위로 이동 링크와 함께 사용되는 화살표 아이콘[맨 위로 이동]

참고 항목

참조

sp_server_diagnostics(Transact-SQL)

개념

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

가용성 모드(AlwaysOn 가용성 그룹)

장애 조치(Failover) 및 장애 조치(Failover) 모드(AlwaysOn 가용성 그룹)

SQL Server의 WSFC(Windows Server 장애 조치(Failover) 클러스터링)

장애 조치(failover) 클러스터 인스턴스용 장애 조치(failover) 정책