증상
다음과 같은 경우를 생각해 볼 수 있습니다.
-
Microsoft SQL Server 2014에서 AlwaysOn 가용성 그룹 기능을 사용 하도록 설정 합니다.
-
AlwaysOn 데이터베이스에는 CLR (공용 언어 런타임) UDT (사용자 정의 데이터 형식)가 있습니다. 또한 동일한 CLR UDT가 둘 이상의 데이터베이스에 존재 합니다.
-
CLR UDT를 사용 하는 여러 데이터베이스와 관련 된 쿼리를 실행 합니다.
이 시나리오에서는 보조 복제본에 대 한 액세스 위반 오류가 발생 하 고 sql server 오류 로그의 다음 메시지와 함께 SQL Server의 인스턴스가 충돌 합니다.
2015-02-17 13:07:36.85 spid27s는 커밋 시 VLR 처리 중의 예외 2905으로 인해 데이터베이스를 종료 합니다. 2015-02-17 13:07:36.85 spid27s 오류: 3449, 심각도: 21, 상태: 1.2015-02-17 13:07: 데이터베이스 (데이터베이스 ID 2)를 복구 하려면 36.85 spid27s SQL Server를 종료 해야 합니다. 데이터베이스가 종료 될 수 없는 사용자 데이터베이스 이거나 시스템 데이터베이스입니다. SQL Server를 다시 시작 합니다. 다른 시작 후 데이터베이스가 복구 되지 않으면 데이터베이스를 복구 하거나 복원 합니다.
또한 보조 복제본 데이터베이스에 다음과 같은 오류 메시지가 표시 되 고 SQL Server를 다시 시작할 때까지 오류가 발생 하지 않습니다.
메시지 3961, 수준 16, 상태 1, 줄 3 스냅샷 격리 트랜잭션은이 트랜잭션이 시작 된 이후 다른 동시 트랜잭션의 DDL 문에서 수정 되었기 때문에 ' <DatabaseName> ' 데이터베이스에서 실패 했습니다. 메타 데이터의 버전이 지정 되어 있지 않기 때문에 허용 되지 않습니다. 메타 데이터에 대 한 동시 업데이트는 스냅숏 격리와 혼합 하 여 불일치가 발생할 수 있습니다.
해결 방법
누적 업데이트 정보
이 문제는 다음 SQL Server 누적 업데이트에서 처음 수정 되었습니다.
각각의 새로운 새 누적 업데이트에는 이전 누적 업데이트에 포함 된 모든 핫픽스와 모든 보안 수정 사항이 포함 되어 있습니다. SQL Server에 대 한 최신 누적 업데이트를 다운로드 하 여 설치 하는 것이 좋습니다.
업데이트 정보이 문제를 해결 하려면 업데이트 KB 3043788를 적용 하세요. 주문형 핫픽스 업데이트 패키지를 SQL Server 2014에서 사용할 수있습니다.
상태
Microsoft는 "적용 대상" 절에 나열한 제품에서 이 문제를 확인했습니다.