KB4483571 - FIX: 가용성 그룹 데이터베이스와 관련된 데이터베이스 간 트랜잭션이 SQL Server 트리거에서 커밋될 때 어설션 실패 가능성

적용 대상
SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2017 Developer Windows SQL Server 2017 Enterprise Core Windows SQL Server 2017 Enterprise Windows

증상

Microsoft SQL Server 2016 또는 2017에 DTC_SUPPORT=PER_DB인 AlwaysOn 가용성 그룹이 하나 이상 있다고 가정합니다. 하나 이상의 가용성 그룹 데이터베이스와 관련된 데이터베이스 간 트랜잭션이 포함된 SQL Server 트리거를 실행하는 경우 어설션 오류가 발생할 수 있습니다. SQL Server 오류 로그는 다음과 같은 어설션 실패 메시지를 보고합니다.

날짜/시간 spid20s * *******************************************************************************
DateTime spid20s * 스택 덤프 시작:
DateTime spid20s * 위치: FileName:3880
DateTime spid20s * 식: m_state == BaseXact::XACT_PREPARED || m_state == BaseXact::XACT_COMMITTED
날짜/시간 spid20s * SPID: 20

DateTime spid20s 오류: 17066, 심각도: 16, 상태: 1.
DateTime spid20s SQL Server 어설션: File: FileName><, line=LineNumber 실패한 어설션 = 'm_state == BaseXact::XACT_PREPARED || m_state == BaseXact::XACT_COMMITTED'. 이 오류는 타이밍과 관련이 있을 수 있습니다. 문을 다시 실행한 후에도 오류가 지속되면 DBCC CHECKDB를 사용하여 데이터베이스의 구조 무결성을 검사하거나 서버를 다시 시작하여 메모리 내 데이터 구조가 손상되지 않았는지 확인합니다.
DateTime spid20s 오류: 3624, 심각도: 20, 상태: 1.
DateTime spid20s 시스템 어설션 검사에 실패했습니다. 자세한 내용은 SQL Server 오류 로그를 확인합니다. 일반적으로 어설션 실패는 소프트웨어 버그 또는 데이터 손상으로 인해 발생합니다. 데이터베이스 손상 여부를 검사하려면 DBCC CHECKDB를 실행하는 것이 좋습니다. 설치하는 동안 Microsoft에 덤프를 보내기로 동의한 경우 미니 덤프가 Microsoft로 전송됩니다. 업데이트는 Microsoft에서 최신 서비스 팩으로 제공되거나 기술 지원의 핫픽스를 통해 제공될 수도 있습니다.

또한 다음과 유사한 오류 메시지가 나타날 수 있습니다.

날짜/시간 서버 오류: 19407, 심각도: 16, 상태: 1.

날짜/시간 서버 가용성 그룹 'GroupName'과 Windows Server 장애 조치(failover) 클러스터 간의 임대가 만료되었습니다. SQL Server의 instance와 Windows Server 장애 조치(Failover) 클러스터 간에 연결 문제가 발생했습니다. 가용성 그룹이 올바르게 장애 조치되고 있는지 확인하려면 Windows Server 장애 조치(failover) 클러스터에서 해당 가용성 그룹 리소스를 검사합니다.

상태

Microsoft에서 이는 "적용 대상" 섹션에 나열된 Microsoft 제품에서의 문제임을 확인했습니다.

해결 방법

누적 업데이트 정보:

이 문제는 SQL Server에 대한 다음과 같은 누적 업데이트에서 해결되었습니다.

SQL Server용 누적 업데이트 정보:
SQL Server에 대한 각각의 새로운 누적 업데이트에는 이전 누적 업데이트에 포함된 모든 핫픽스와 모든 보안 수정 사항이 포함되어 있습니다. SQL Server에 대한 최신 누적 업데이트를 확인하세요.

주문형 핫픽스 정보:

이 문제는 다음과 같은 SQL Server용 주문형 핫픽스에서 해결되었습니다.

참조 자료

Microsoft에서 소프트웨어 업데이트를 설명하는 데 사용하는 용어에 대해 알아보세요.