Microsoft로 로그인
로그인하거나 계정을 만듭니다.
안녕하세요.
다른 계정을 선택합니다.
계정이 여러 개 있음
로그인할 계정을 선택합니다.

증상

Microsoft SQL Server 2008, SQL Server 2012, SQL Server 2008 R2 또는 SQL Server 2014의 테이블에 대해 NOLOCK 힌트와 함께 복잡 한 UPDATE 문을 실행 하면 클러스터 되지 않은 인덱스가 손상 될 수 있습니다. 또한 SQL Server 오류 로그에 다음과 같은 오류 메시지가 기록 될 수 있습니다.

<날짜><> spid # 오류: 8646, 심각도: 21, 상태: 1. <날짜><시간> spid #에서는 ' <DATABASENAME> ' 데이터베이스에서 테이블 2102402659의 인덱스 ID 3에 있는 인덱스 항목을 찾을 수 없습니다. 표시 된 색인이 손상 되었거나 현재 업데이트 계획에 문제가 있습니다. DBCC CHECKDB 또는 DBCC CHECKTABLE를 실행 합니다. 문제가 지속 되 면 기술 지원에 문의 하세요><<. ' dbghelp ' 버전 ' 4.0.5 '을 사용 하 여> spid # <날짜><time> spid # * * Dump 스레드-Spid = 0, EC = 0x0000000BD70624C0<Date><time> spid # * * * Y:\MSSQL\MSSQL10. Date MSSQLSERVER\MSSQL\LOG\SQLDump0003.txt><2 날짜><시간> spid # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * <날짜><Time시간> spid # * <날짜><시간> spid # * 시작 스택 덤프: <date><time> spid # * <날짜><spid # *> 날짜 <time><spid # * CPerIndexMetaQS:: errorabort-인덱스 손상><0 Date날짜><Date시간> Time spid # * TimeDate

참고표의 원본 테이블에 NOLOCK 힌트를 적용할 수 있습니다. 그러나, 명령문의 대상 표에는 NOLOCK 힌트를 적용할 수 없습니다.

원인

이 문제는 NOLOCK 참고로 인해 쿼리가 같은 값을 여러 번 읽을 때 테이블의 값을 올바르게 읽지 못하기 때문에 발생 합니다.

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

상태

Microsoft는 "적용 대상" 절에 나열한 Microsoft 제품에서 이 문제를 확인했습니다.

도움이 더 필요하세요?

더 많은 옵션을 원하세요?

구독 혜택을 살펴보고, 교육 과정을 찾아보고, 디바이스를 보호하는 방법 등을 알아봅니다.

커뮤니티를 통해 질문하고 답변하고, 피드백을 제공하고, 풍부한 지식을 갖춘 전문가의 의견을 들을 수 있습니다.

이 정보가 유용한가요?

언어 품질에 얼마나 만족하시나요?
사용 경험에 어떠한 영향을 주었나요?
제출을 누르면 피드백이 Microsoft 제품과 서비스를 개선하는 데 사용됩니다. IT 관리자는 이 데이터를 수집할 수 있습니다. 개인정보처리방침

의견 주셔서 감사합니다!

×