증상
Microsoft SQL Server 2012에서 tempdb.sys.allocation_units 테이블을 쿼리 한다고 가정 합니다. 쿼리에 NOLOCK 힌트를 사용 하거나 쿼리가 읽기 UNCOMMITED 트랜잭션 격리 수준 아래에 있는 경우 다음과 같은 간헐적인 608 오류 메시지가 나타납니다.
오류: 608 심각도: 16 상태: 1 데이터베이스 <데이터베이스 이름>의 파티션 <ID>에 대 한 카탈로그 항목을 찾을 수 없습니다. 메타 데이터의 일관성이 없습니다. DBCC CHECKDB를 실행 하 여 메타 데이터 손상 확인
참고 DBCC CHECKDB 명령에는 데이터베이스 손상의 징후가 표시 되지 않습니다.
원인
이 문제는 부실 메타 데이터에 대 한 커밋되지 않은 읽기 때문에 발생 합니다.
해결 방법
이 문제는 다음 SQL Server 누적 업데이트에서 처음 수정 되었습니다.
SQL Server 2012 SP2의 누적 업데이트 4 /en-us/help/3007556
SQL Server 2012 SP1 용 누적 업데이트 13 /en-us/help/3002044
각각의 새로운 새 누적 업데이트에는 이전 누적 업데이트에 포함 된 모든 핫픽스와 모든 보안 수정 사항이 포함 되어 있습니다. SQL Server에 대 한 최신 누적 업데이트를 확인 하세요.
상태
Microsoft는 "적용 대상" 절에 나열한 제품에서 이 문제를 확인했습니다.