증상
이 업데이트에는 Microsoft SQL Server AlwaysOn 임대 시간 제한 지원에 대 한 다음과 같은 개선 사항이 포함 되어 있습니다.
-
이제 임대 시간 제한 메시지가 현재 시간과 예상 갱신 시간을 표시 하 고 기록 합니다.
-
임대 시간 초과 이유를 명확 하 게 나타내는 새 오류 메시지가 임대 작업자에 게 추가 되었습니다.
-
새 확장 이벤트와 임대 근로자를 위한 새 링 버퍼가 추가 되었습니다. 이는 임대 단계를 명확 하 게 나타냅니다.
해결 방법
이 문제는 다음 SQL Server 서비스 팩에서 처음 수정 되었습니다.
SQL Server 2012 서비스 팩 3(sp3)에 대 한 자세한 내용은 Sql server 2012 서비스 팩 3에서 해결 되는 버그를 참조 하세요.
Sql server 용 SQL Server 2014의 서비스 팩 2SQL Server 용 서비스 팩 정보서비스 팩은 누적 됩니다. 새로운 각 서비스 팩에는 이전 서비스 팩의 모든 수정 프로그램과 함께 새로운 수정 프로그램이 포함 되어 있습니다. 최신 서비스 팩과 해당 서비스 팩에 대 한 최신 누적 업데이트를 적용 하는 것이 좋습니다. 최신 서비스 팩을 설치 하기 전에 이전 서비스 팩을 설치할 필요가 없습니다. 최신 서비스 팩 및 최신 누적 업데이트에 대 한 자세한 정보를 보려면 다음 문서의 표 1을 사용 하세요.SQL Server의 버전, 버전 및 업데이트 수준 및 해당 구성 요소를 확인 하는 방법
추가 정보
추가 통찰력을 제공 하기 위해 새 오류 메시지가 SQL Server에 추가 되었습니다. 다음 표에서는 각 항목을 나열 하 고 설명 합니다.
오류 |
오류 메시지 |
원인 |
정정 작업 |
---|---|---|---|
19419 |
기존 임대가 더 이상 유효 하지 않으므로 가용성 그룹 ' %1! '과 (와) Windows Server 장애 조치 (Failover) 클러스터 간의 임대 갱신에 실패 했습니다. |
SQL Server 측의 임대 근로자는 클러스터에서 이벤트 신호 처리를 위해 예약 시간을 설정 하지 않았습니다. |
SQL Server 임대 근로자가 starving 것으로 보이는 서버의 CPU 사용량을 확인 합니다. |
19420 |
가용성 그룹 ' %1! '이 (가) 명시적으로 임대 갱신을 중지 하도록 요청 합니다. |
가용성 그룹을 오프 라인 상태로 전환 하는 과정에서 임대 갱신이 중지 됩니다. 이는 정보 제공 용입니다. |
|
19421 |
임대 간격 내에 갱신이 발생 하지 않았기 때문에 가용성 그룹 ' %1! '과 Windows Server 장애 조치 (Failover) 클러스터 간의 임대 갱신에 실패 했습니다. |
클러스터 쪽의 임대 도우미가 시간에 따라 SQL Server 임대 작업자에 게 신호를 보내지 않았습니다. |
WSFC 클러스터에서 해당 가용성 그룹 리소스를 검사 하 여 오류가 보고 되었는지 확인 합니다. |
19422 |
오류 코드 ('% d ')와 windows 오류로 인해 가용성 그룹 ' %1! ' 및 Windows Server 장애 조치 (Failover) 클러스터 간의 임대 갱신에 실패 했습니다. |
Windows 오류로 인해 SQL Server side의 임대 근로자가 임대를 갱신 하지 못했습니다. |
Windows 오류 코드를 확인 하 고 정정 작업을 수행 합니다. |
19423 |
가용성 그룹 ' %1! ' 임대의 임대가 더 이상 유효 하지 않아 임대 갱신 프로세스를 시작할 수 없습니다. |
임대 근로자가 온라인 통화가 제공 하는 초과 임대 시간 처리를 시작 했을 때 임대가 이미 만료 되었습니다. 일정 문제 때문에이 문제가 발생할 수가 있습니다. |
SQL Server 임대 근로자가 starving 것으로 보이는 서버의 CPU 사용량을 확인 합니다. |
19424 |
가용성 그룹 ' %1! '의 임대 근로자가 현재 온라인 중에 제공 되는 초과 임대 시간 (% u ms)을 일시 중지 하 고 있습니다. 이 메시지는 정보 제공 용입니다. 사용자 작업은 필요 하지 않습니다. |
나타낼. 임대 갱신 스레드를 시작 하 고 가용성 그룹 온라인 루틴의 일부로 추가 온라인 시간을 할당 했습니다. |
오류 19419의 예: 디버거를 사용 하 여 SQL Server에 연결 하는 경우 sql server 프로세스를 다시 시작할 때까지 SQL Server 프로세스에서 스레드 서비스를 중단 합니다. SQL Server를 다시 시작 하면 SQL Server 오류 로그에 다음이 보고 됩니다.
<날짜 시간> 서버 오류: 19419, 심각도: 16, 상태: 1. <날짜 시간> 서버 Windows Server 장애 조치 (Failover) 클러스터가 임대 제한 시간 내에 SQL Server 호스팅 가용성 그룹 ' ag '의 프로세스 이벤트 신호를 받지 못했습니다. <날짜 시간> 서버 오류: 19407, 심각도: 16, 상태: 1. <날짜 시간> 서버 가용성 그룹 ' ag '와 Windows Server 장애 조치 (Failover) 클러스터 간의 임대가 만료 되었습니다. SQL Server 인스턴스와 Windows Server 장애 조치 (Failover) 클러스터 간에 연결 문제가 발생 했습니다. 가용성 그룹이 올바르게 장애 조치 되는지 확인 하려면 Windows Server 장애 조치 (Failover) 클러스터에서 해당 가용성 그룹 리소스를 확인 합니다. <날짜 시간> 서버 AlwaysOn: 임대가 만료 되었거나 임대 갱신에 실패 하 여 가용성 그룹 ' ag '의 로컬 복제본이 오프 라인 됩니다. 이 메시지는 정보 제공 용입니다. 사용자 작업은 필요 하지 않습니다. <날짜 시간> 서버 가용성 그룹 ' ag '에 있는 로컬 가용성 복제본의 상태가 ' PRIMARY_NORMAL '에서 ' RESOLVING_NORMAL ' (으)로 변경 되었습니다. 시작, 장애 조치, 통신 문제 또는 클러스터 오류로 인해 복제 상태가 변경 되었습니다. 자세한 내용은 가용성 그룹 대시보드, SQL Server 오류 로그, Windows Server 장애 조치 클러스터 관리 콘솔 또는 Windows Server 장애 조치 클러스터 로그를 참조 하세요.
SQL Server가 클러스터 서비스에 응답 하지 않아 19419 오류가 반환 됩니다. 19419 오류와 함께 임대 시간 초과 오류 메시지 (19407)도 받을 수 있습니다.오류 19424의 예: 다음은 가용성 그룹이 주 역할로 전환 되기 직전에 보고 되는 초과 임대 시간 메시지입니다.
<날짜 시간> 서버 가용성 그룹 ' ag '의 임대 근로자가 현재 온라인 중에 제공 된 초과 임대 시간 (164766 ms)을 중지 하 고 있습니다. 이 메시지는 정보 제공 용입니다. 사용자 작업은 필요 하지 않습니다. <날짜 시간> 서버 가용성 그룹 ' ag '에 있는 로컬 가용성 복제본의 상태가 ' PRIMARY_PENDING '에서 ' PRIMARY_NORMAL ' (으)로 변경 되었습니다. 시작, 장애 조치, 통신 문제 또는 클러스터 오류로 인해 복제 상태가 변경 되었습니다. 자세한 내용은 가용성 그룹 대시보드, SQL Server 오류 로그, Windows Server 장애 조치 클러스터 관리 콘솔 또는 Windows Server 장애 조치 클러스터 로그를 참조 하세요.
Availability_group_lease_expired 및 hadr_ag_lease_renewal XEvents 향상 되었으며, 임대 조건에 대 한 자세한 정보를 제공 하는 데이터 요소가 추가 되었습니다. 다음 표에서는 이러한 XEvents의 개선 사항에 대해 설명 합니다.
XEvent |
새 열 |
설명 |
---|---|---|
availability_group_lease_expired |
current_time |
임대가 만료 되는 시간 |
availability_group_lease_expired |
new_timeout |
시간 초과 시간 availability_group_lease_expired 발생 한 경우 current_time new_timeout 보다 큼 |
availability_group_lease_expired |
상태 |
임대 단계: 아래의 임대 단계 표 참조 |
hadr_ag_lease_renewal |
상태 |
hadr_ag_lease_renewal |
hadr_ag_lease_renewal |
error_code |
State가 HadrLeaseRenewal_FailedWithWindowsError 경우에는 오류와 관련 된 Windows 오류 코드가 error_code 됩니다. |
임대 단계 및 정의다음 표에서는 가능 임대 단계를 나열 하 고 해당 기능에 대해 설명 합니다.
스테이지 이름 |
설명 |
---|---|
HadrLeaseRenewal_LeaseWorkerStarted |
임대 작업자 스레드가 시작 되었습니다. |
HadrLeaseRenewal_StartedExcessLeaseSleep |
초과 임대 시작 초과 임대 단계는 가용성 그룹의 온라인 단계 중에 임대 스레드 시작을 문서화 합니다. |
HadrLeaseRenewal_FailedExcessSleepInvalidOnlineLease |
임대가 이미 만료 된 경우 초과 임대가 실패 합니다. |
HadrLeaseRenewal_SkipExcessSleep |
Sleep으로 사용할 수 있는 기간이 임대 기간 보다 작은 경우 초과 임대를 건너뜁니다. 불필요 한 임대를 진행할 필요가 없으며, 손을 흔듭니다 프로세스를 시작 하면 됩니다. |
HadrLeaseRenewal_ExcessSleepSucceeded |
초과 임대가 완료 되었습니다. |
HadrLeaseRenewal_RenewSucceeded |
갱신을 할 때마다이 문제가 표시 됩니다. |
HadrLeaseRenewal_LeaseNotValid |
오류와 동일: 19419Windows Server 장애 조치 (Failover) 클러스터가 임대 제한 시간 내에 SQL Server 호스팅 가용성 그룹 ' %1! '의 프로세스 이벤트 신호를 받지 못했습니다. |
HadrLeaseRenewal_StopLeaseRenewal |
이는 장애 조치 이벤트 중에 표시 되어야 합니다. |
HadrLeaseRenewal_LeaseExpired |
오류: 19421SQL Server 호스팅 가용성 그룹 ' %1! '은 (는) 임대 제한 시간 내에 Windows Server 장애 조치 (Failover) 클러스터의 프로세스 이벤트 신호를 받지 못했습니다. |
HadrLeaseRenewal_FailedWithWindowsError |
Windows 오류로 인해 임대 갱신에 실패 했습니다. |
자세한 내용은 향상 된 AlwaysOn 가용성 그룹 임대 시간 제한 진단을참조 하세요. 임대 시간 제한에 대 한 자세한 내용은 SQL Server AlwaysOn 임대 시간 제한에서 작동 하는 방법을참조 하세요.
상태
Microsoft는 "적용 대상" 절에 나열한 제품에서 이 문제를 확인했습니다.