FIX: 일관성 오류 테이블 만들기, 행 삽입 및 인덱스 생성 제한 추가 기준 열어본 트랜잭션 내부에서 인해 있다

기술 자료 번역 기술 자료 번역
기술 자료: 286749 - 이 문서가 적용되는 제품 보기.
# BUG: 351939 (SHILOH_bugs)
모두 확대 | 모두 축소

현상

트랜잭션을 여는 테이블을 만들 행을 삽입할 테이블에 인덱스를 만들어 해당 트랜잭션을 커밋할 제약 조건을 추가할 때 이후의 DBCC CHECKTABLE 일관성 오류를 보고할 수 있습니다. DBCC CHECKTABLE 비슷한 결과를 반환할 수 있습니다.
서버: 메시지 8970, 수준 16, 상태 1, 줄 2
행 오류: ID 2041058307 개체, 인덱스 ID 0, ID (1:77) 페이지, 행 ID 0. 필요에 따라 열을 'LastModified' 만들어진 NOT NULL 있지만 행에서 NULL입니다.
서버: 메시지 8970, 수준 16, 상태 1, 줄 2
행 오류: ID 2041058307 개체, 인덱스 ID 0, ID (1:77) 페이지, ID 1 행. 필요에 따라 열을 'LastModified' 만들어진 NOT NULL 있지만 행에서 NULL입니다.
서버: 메시지 8970, 수준 16, 상태 1, 줄 2
행 오류: ID 2041058307 개체, 인덱스 ID 0, ID (1:77) 페이지, 행 ID 2. 필요에 따라 열을 'LastModified' 만들어진 NOT NULL 있지만 행에서 NULL입니다.
' # TableX_____________________________000000000011 ' DBCC 결과입니다.
행이 0 ' # TableX______________________________________________000000000011 ' 개체에 대한 1 페이지에서입니다.
CHECKTABLE 테이블의 ' # TableX________________________000000000011 ' (개체 ID 2041058307) 0 할당 오류와 3 일관성 오류를 발견했습니다.
repair_allow_data_loss는 DBCC CHECKTABLE (tempdb.dbo.#TableX________________________________________000000000011) 에 의해 발견된 오류를 최소 복구 수준입니다.

SQL Server 오류 로그에 다음과 유사한 메시지가 기록됩니다.
(tempdb.dbo.#TableX______________________________000000000011) <domain>\<user>에 의해 실행됩니다. 3 오류를 발견하여 0 오류를 복구했습니다.

해결 방법

이 문제를 해결하려면 SQL Server 2000의 최신 서비스 팩을 구하십시오. 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
290211INF: SQL Server 2000의 최신 서비스 팩을 구하는 방법

해결 과정

이 문제를 해결하려면 다음 방법 중 하나를 사용하십시오.
  • 트랜잭션 커밋 후에 인덱스를 만듭니다.
  • 인덱스를 만든 후 트랜잭션을 닫기 전에 값을 테이블에 삽입하십시오.
  • 트랜잭션 커밋 후에 및 제약 조건을 추가하기 전에 값을 테이블에 삽입하십시오.

현재 상태

Microsoft은 SQL Server 2000에 문제가 있음을 확인했습니다. 이 문제는 SQL Server 2000 서비스 팩 1에서 처음 수정되었습니다.

추가 정보

문제를 재현하려면 다음 스크립트를 실행하여:
begin tran
create table #TableX (Col1 varchar(20))
insert #TableX values ('A')
insert #TableX values ('B')
insert #TableX values ('C')
create index ix_Col1 on #TableX(Col1)  -- works fine when this is moved after the commit
--insert #TableX values ('D') -- or when this is uncommented
commit

--insert #TableX values ('D') -- or when this is uncommented

alter table #TableX add LastModified datetime not null constraint cn_Enabled default getdate()
go
select * from #TableX
dbcc checktable(#TableX)
go
drop table #TableX
				

속성

기술 자료: 286749 - 마지막 검토: 2003년 10월 17일 금요일 - 수정: 3.2
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft SQL Server 2000 Standard Edition
키워드:?
kbmt kbbug kbfix kbsqlserv2000sp1fix KB286749 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com