다음을 통해 공유


MSSQLSERVER_19419

적용 대상: SQL Server

세부 정보

attribute
제품 이름 SQL Server
이벤트 ID 19419
이벤트 원본 MSSQLSERVER
구성 요소 SQLEngine
심볼 이름 HADR_AG_LEASE_EXPIRED_WAITING_FOR_RENEW
메시지 텍스트 Windows Server 장애 조치(failover) 클러스터는 임대 시간 제한 기간 내에 가용성 그룹 '%.*ls'을(를) 호스팅하는 SQL Server에서 프로세스 이벤트 신호를 받지 못했습니다.

설명

SQL Server 쪽의 임대 작업자가 클러스터에서 이벤트 신호를 처리하도록 예약되지 않은 경우 SQL Server 오류 로그에서 오류 19419가 발생합니다. 특히 SQL Server는 임대 시간 제한 이벤트가 신호된 상태로 설정되기를 기다리는 WaitForMultipleObjects()를 호출합니다. 함수가 성공을 나타내는 WAIT_OBJECT_0 반환하지만 이 시점까지 임대가 만료되면 오류 19419가 발생합니다.

임대는 SQL Server와 WSFC(Windows Server 장애 조치 클러스터) 프로세스, 특히 RHS.EXE 프로세스 간에 발생하는 시간 기반 통신 메커니즘입니다. 두 프로세스는 주기적으로 서로 통신하여 다른 프로세스가 실행되고 응답하는지 확인합니다. 이 통신은 Windows 이벤트 개체 를 사용하여 수행되며, WSFC에 대한 지식 없이 AG 리소스의 장애 조치(failover)가 발생하지 않도록 합니다. 프로세스 중 하나가 미리 정의된 임대 기간에 따라 임대 통신에 응답하지 않으면 임대 시간 제한이 발생합니다. 자세한 내용은 임대 메커니즘을 참조 하세요. 작동 방식도 참조 하세요. SQL Server AlwaysOn 임대 시간 제한

이 오류는 다른 임대 시간 제한 오류와 관련이 있으며 오류 MSSQLSERVER_19407 대한 보다 구체적인 세부 정보를 제공합니다.

원인

Windows 이벤트는 경량 동기화 개체이므로 상대적으로 적은 수의 외부 요소가 부정적인 영향을 줍니다. 임대 시간 초과로 이어질 수 있는 일반적인 문제에는 시스템 차원의 문제가 포함됩니다. 다음은 임대 만료를 유발하고 다시 시작 또는 장애 조치(failover)를 일으킬 수 있는 가능성 목록입니다.

  • 시스템의 높은 CPU 사용량(100% 가까이)
  • 메모리 부족 조건 - 낮은 가상 메모리 및/또는 프로세스 중 하나가 페이징되고 있습니다.
  • 큰 메모리 덤프를 생성하는 동안 SQL Server 프로세스가 응답하지 않음
  • WSFC가 오프라인으로 전환됨(예: 쿼럼 손실로 인해)

오류 19419의 가장 일반적인 이유는 CPU가 높기 때문에 임대 작업자 스레드 예약이 지연됩니다.

사용자 작업

SQL Server 임대 작업자가 CPU 리소스에 부족할 것 같아 서버의 CPU 사용률을 확인합니다. 다음 PowerShell 스크립트를 사용하면 시스템의 CPU 사용량을 신속하게 진단할 수 있습니다.

 Get-Counter -Counter "\Processor(_Total)\% Processor Time" -SampleInterval 5 -MaxSamples 30 |
   Select-Object -ExpandProperty CounterSamples | Select-Object TimeStamp, Path, CookedValue

자세한 문제 해결은 MSSQLSERVER_19407 사용자 작업을 참조하세요.

  • 높은 CPU 문제 해결
  • 메모리 부족 문제 해결
  • SQL Server 또는 클러스터 프로세스의 큰 메모리 덤프를 줄이거나 방지합니다.
  • 오버프로비전에 대한 VM(가상 머신) 구성 확인
  • 문제를 일으키는 VM(가상 머신) 마이그레이션 또는 백업 확인