FIX: 오류 605 및 쿼리를 실행할 때 824 오류가 SQL Server 임시 테이블에 데이터 삽입

버그: # 50003826 (SQL 핫픽스)
Microsoft는 Microsoft SQL Server 2008 수정 프로그램 다운로드 가능한 하나의 파일로 배포합니다. 수정 프로그램은 계속 누적 되는 형태 이므로 각 새 릴리스에 모든 핫픽스를 포함 하며 수정 프로그램 릴리스의 이전 SQL Server 2008에 포함 된 모든 보안 수정 프로그램

증상

SQL Server 2008의 데이터를 임시 테이블에 삽입 하는 쿼리를 실행 합니다. Insert 문은 동일한 임시 테이블을 참조 하는 하위 쿼리를 포함 합니다. 쿼리를 실행 하면 다음과 유사한 오류 메시지가 나타날 수 있습니다.
Msg 605, 수준 21, 상태 3, 줄 1

논리 페이지 (1:225) 2 데이터베이스에서 실패를 반입 하려고 합니다. 할당 단위 281474980315136 504403158513025024 수 없습니다에 속합니다.

쿼리를 다시 실행 하는 경우 다음과 유사한 오류 메시지가 나타납니다.

메시지 824, 수준 24, 상태 2, 줄 1
SQL Server 논리적 일관성 기반 I/O 오류가 검색: 잘못 된 체크섬 (예상: 0x50758180, 실제: 0x15658bfc). 파일의 0x000000002a0000 오프셋에서 데이터베이스 ID 2 페이지 (1:336)의 읽는 동안 발생 했습니다 ' C:\Program 서식 SQL Server\MSSQL10. SQL2008\MSSQL\DATA\tempdb.mdf'. SQL Server 오류 로그 또는 시스템 이벤트 로그에 메시지를 추가로 자세한 정보를 제공할 수 있습니다. 데이터베이스 무결성을 위협 하 고 즉시 수정 해야 하는 심각한 오류 조건입니다. 전체 데이터베이스 일관성 확인 (DBCC CHECKDB)를 완료 합니다. 이 오류가 원인일 수 있습니다 여러 가지 요인. 자세한 내용은 SQL Server 온라인 설명서를 참조 합니다.
어떤 경우에도 다음과 유사한 오류 메시지가 나타날 수 있습니다.
메시지 601, 12 레벨, 상태 3, 프로시저 procedure 이름, 줄 번호
데이터 이동으로 인해 NOLOCK 함께 스캔을 계속할 수 없습니다.

이러한 오류를 생성할 수 있는 쿼리 가능한 구조는 다음과 같습니다.
insert #table1select s.col1, s.col2
from #table2 s inner loop join #table1 t
on s.col3 = t.col3

해결 방법

이 문제에 대 한 수정 프로그램이 누적 업데이트 3에서 릴리스 먼저 되었습니다. SQL Server 2008에 대 한이 누적 업데이트 패키지를 구하는 방법에 대 한 자세한 내용은 Microsoft 기술 자료의 다음 문서 번호를 클릭 합니다.
SQL Server 2008 960484 누적 업데이트 패키지 3
참고: 빌드는 계속 누적 되는 형태 이므로 각 새 수정 프로그램 릴리스의 모든 핫픽스와 들어 및 이전 SQL Server 2008에 포함 된 모든 보안 수정 프로그램 릴리스의 수정. 이 핫픽스가 포함 된 최신 수정 릴리스를 적용 고려 하는 것이 좋습니다. 자세한 내용은 다음 문서 번호를 클릭하여 Microsoft 기술 자료의 다음 문서를 확인하십시오.
SQL Server 2008이 출시 된 이후에 릴리스된 956909 는 SQL Server 2008 빌드
이 누적 업데이트 패키지를 설치한 후 추적 플래그 4135 사용 하도록 설정 해야 합니다. 이렇게 하려면 추가할 수 있는 -T4135 시작 매개 변수. 또는 특정 세션에 대 한 dbcc traceon(4135) 문을 사용할 수 있습니다.

해결 방법

이 문제를 해결 하려면 클러스터 된 기본 키와 임시 테이블에 identity 속성을 가진 열을 추가 합니다. 예를 들어, 임시 테이블을 변경 하려면 다음 명령문을 실행 합니다.
ALTER TABLE #TempTableADD id integer IDENTITY(1,1) CONSTRAINT id PRIMARY KEY CLUSTERED

상태

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

자세한 내용

824 나 605 오류 메시지를 발생 하는 있지만 데이터베이스는 손상 되지. 또한 이러한 오류 메시지는 tempdb 데이터베이스에서 페이지를 참조합니다.

변경 된 파일에 대 한 자세한 내용은 및이 Microsoft 기술 자료 문서에 설명 되어 있는 핫픽스가 포함 된 누적 업데이트 패키지를 적용 하려면 전제 조건에 대 한 내용은 Microsoft 기술 자료의 다음 문서 번호를 클릭 합니다.
SQL Server 2008 960484 누적 업데이트 패키지 3

SQL Server 2008 R2 BPA 정보

SQL Server 2008 R2 최상의 연습 분석기 (SQL Server 2008 R2 BPA) 상황에 없는 누적 업데이트 또는이 문제를 해결 하기 위해 사용 하는 추적 플래그를 검색 하는 규칙을 제공 합니다. SQL Server 2008 R2 BPA는 SQL Server 2008 및 SQL Server 2008 r 2를 모두 지원합니다.

BPA 도구를 실행 하 고 "데이터베이스 엔진에서 tempdb 오류 수정 또는 추적 플래그 없음" 발생 하는 경우 경고 하 고이 수정 프로그램을 사용 하도록 구성 된 추적 플래그는 SQL Server 버전을 확인 해야 합니다.

참조

규칙 소프트웨어규칙 제목규칙 식별자
SQL Server 2008 R2 BPA 규칙tempdb 오류 수정 또는 추적 플래그 없음RID3808

참고: 추적 플래그 4135 또는이 수정 프로그램을 활성화 하려면 4199 추적 플래그를 설정할 수 있습니다. 추적 플래그 4135 3 누적 업데이트 패키지에 SQL Server 2008에 도입 되었습니다. 추적 플래그 4135 SQL Server 2008 서비스 팩 2에서 SQL Server 2008 서비스 팩 1에서 및 SQL Server 2008 r 2에 제공 됩니다. 4199 추적 플래그는 SQL Server 2008 누적 업데이트 패키지 7, SQL Server 2008 서비스 팩 1 용 누적 업데이트 패키지 7 및 SQL Server 2008 r 2 용 누적 업데이트 패키지 1에 도입 되었습니다. 4199 추적 플래그에 대 한 자세한 내용은 Microsoft 기술 자료의 다음 문서 번호를 클릭 합니다.
 974006 추적 플래그 4199 여러 쿼리 최적화 프로그램은 변경 내용을 여러 개의 추적 플래그에서 이전에 만든 컨트롤에 추가
특정 핫픽스 빌드 및 수정 프로그램을 활성화 하려면 추적 플래그를이 문제를 해결 하므로 다양 한 시나리오 및 각 시나리오에 대해 별도 항목에 대 한 권장된 하는 작업을 표시 하려면 다음 표에 포함 되어 있습니다.



최신 SQL Server 빌드에 대 한 자세한 내용은 Microsoft 기술 자료의 다음 문서 번호를 클릭 합니다.
957826 최신 SQL Server 대 한 정보를 찾을 수 있는 위치 구성

참조

SQL Server 2008의 릴리스 후에 사용할 수 있는 빌드 목록에 대 한 자세한 내용은 Microsoft 기술 자료의 다음 문서 번호를 클릭 합니다.

SQL Server 2008이 출시 된 이후에 릴리스된 956909 는 SQL Server 2008 빌드

SQL Server 대 한 증분 서비스 모델에 대 한 자세한 내용은 Microsoft 기술 자료의 다음 문서 번호를 클릭 합니다.

보고 된 문제에 대 한 핫픽스를 제공 하는 SQL Server 팀 935897 는 증분 서비스 모델은

SQL Server 업데이트의 명명 스키마에 대 한 자세한 내용은 Microsoft 기술 자료의 다음 문서 번호를 클릭 합니다.

822499 Microsoft SQL Server 소프트웨어 업데이트 패키지의 새 명명 스키마
소프트웨어 업데이트 용어에 대한 자세한 내용을 보려면, 다음 문서 번호를 클릭하여 Microsoft 기술 자료의 문서를 확인하십시오.
Microsoft 소프트웨어 업데이트를 설명 하는 데 사용 되는 표준 용어에 대 한 824684 설명
속성

문서 ID: 960770 - 마지막 검토: 2017. 2. 7. - 수정: 1

피드백