증상
Microsoft SQL Server 2016 또는 2017에서 sp_getapplock 시스템 저장 프로시저와 함께 메모리 내 트랜잭션을 사용 한다고 가정 합니다. SCHEMA_OBJECT_ACCESS_GROUP 서버 수준 감사 작업 그룹에서 서버 감사를 사용 하도록 설정 하면 다음과 같은 "Msg 41317" 오류 메시지가 나타납니다.
메시지 41317, 수준 16, 상태 4, 줄 LineNumber 메모리 최적화 테이블 또는 고유 하 게 컴파일된 모듈에 액세스 하는 사용자 트랜잭션은 두 개 이상의 사용자 데이터베이스 또는 데이터베이스 모델 및 msdb에 액세스할 수 없으며 master에 쓸 수 없습니다.
해결 방법
이 문제는 다음과 같은 SQL Server 누적 업데이트에서 해결 되었습니다.
SQL Server 2017에 대 한 누적 업데이트 13
SQL Server 2016 서비스 팩 2 용 누적 업데이트 3
기록또한이 업데이트는 데이터베이스에서 스키마를 만들 수 있는 권한이 없는 사용자가 스키마 만들기 명령을 실행할 때 확인 되지 않은 교착 상태가 표시 되는 문제를 해결 하 고 SCHEMA_OBJECT_ACCESS_GROUP 및 SCHEMA_OBJECT_CHANGE_GROUP 데이터베이스 감사 사양에서 사용 하도록 설정 되어 있습니다.
SQL Server 빌드 정보
각각의 SQL Server 2016 새 빌드에는 이전 빌드에 있던 모든 핫픽스와 보안 수정 사항이 포함 되어 있습니다. SQL Server에 대 한 최신 누적 업데이트를 설치 하는 것이 좋습니다.
상태
Microsoft는 이 문제가 "적용 대상" 절에 나열된 Microsoft 제품에서 발생하는 문제로 확인했습니다.
참조
Microsoft에서 소프트웨어 업데이트를 설명 하는 데 사용 하는 용어 에 대해 알아봅니다.