FIX: 모든 문 실행 대상 재컴파일합니다 있는 저장된 프로시저 동시 실행 실패할 수 있다

중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

250506
이 문서가 보관되었습니다. "그대로" 제공되었으며, 업데이트가 되지 않을 것입니다.
# 버그: 55251 (sqlbug_70)
현상
다음 조건이 충족될 경우 그 안에 포함된 모든 명령문을 실행하기 위해 저장된 프로시저를 자동으로 실패할 수 있습니다.

  • 여러 개의 연결이 같은 프로시저를 동시에 실행하고 있습니다.

  • 이 프로시저 외부에서 만든 임시 테이블에 대한 참조를 이루어집니다.

  • 또한 잠재적으로 '자동 업데이트 통계' 에 의해 트리거되는 재컴파일 일으킬 수 있는 하나 이상의 문이 이 임시 테이블에 대한 참조를 따릅니다.
모든 문은 일부 다른 실패할 동안, 프로시저를 실행하는 사용자가 실행할 수 있습니다.
해결 과정
WITH RECOMPILE 절은 프로시저에 만들거나 프로시저를 실행할 때 WITH RECOMPILE 절은 사용하십시오.
현재 상태
Microsoft는 이 SQL Server 7 .0의 문제를 확인했습니다. 이 문제는 Microsoft SQL Server 7 .0의 미국 서비스 팩 2에서 수정되었습니다. 추가 정보는 다음 문서 번호를 클릭하여 Microsoft 기술 자료에서 확인하십시오:
254561INF: Microsoft SQL Server 7.0 및 Microsoft 데이터 엔진 (MSDE) 1.0 서비스 팩 2를 구하는 방법
자세한 내용은 주 지원 공급자에게 문의하십시오.
추가 정보
현재 프로시저 외부에서 만든 임시 테이블에 대한 참조를 만들 경우, 프로시저가 처음 실행될 때 문과 모든 후속 문을 컴파일할 수 없습니다 것을. 테이블의 스키마에 대한 정보가 알려져 있기 때문입니다. 해당 문이 실행을 도달하고 스키마 및 카디널리티 값을 사용할 수 있는 후에는 이 정보를 사용하여 해당 프로시저가 재컴파일됩니다. 컴파일 시간을 최소화하기 위해 SQL Server는 "부분 컴파일"이 상황에서 수행하며 경우에만 이 개까지 문에 대한 쿼리 계획을 생성합니다.

컴파일된 계획을 여러 사용자가 공유할 수 있으므로 SQL Server 7.0 재컴파일을 연결 중 하나를 수행할 수 있도록 재컴파일을 serialize합니다. 또한 다른 연결을 다시 컴파일해야 하는 경우 해당 재컴파일 후 그 다음 단계 실행을 다시 첫 번째 연결을 기다립니다.

여기서 두 개의 연결이 실행 중 여러 단계에서 있으며 재컴파일을 트리거하는 한 먼저 프로시저 외부에서 만든 임시 테이블 참조하기 전에 상황이 발생할 경우, 해당 문을 도달하면 계획을 컴파일하는 중지됩니다. 두 번째 연결 어딘가에 후에 이 첫 번째 연결을 컴파일하는 동안 수도 있는 재컴파일 트리거하는 경우 실행이 재개됩니다 및 잘못 이를 모든 문은 계획에서 실행된 것을 믿습니다.

WITH RECOMPILE 사용하는 경우 프로시저가 만들어질 때 또는 실행할 때 두 연결 절대로 같은 컴파일된 계획을 공유하고 절대로 이 조건이 있을 수 있습니다.

가능하면 좋습니다 프로시저의 재컴파일 항상 있어야 하므로 현재 프로시저 외부에서 만들어진 임시 테이블을 참조할 수 있습니다. 다른 저장된 프로시저에 대한 프로그래밍 방법은 아래에서 "Transact-SQL 팁" 항목에서는 SQL 온라인 찾을 수 있습니다.

때 프로시저가 재컴파일됩니다 중인 확인하려면 SQL 프로파일러 SP:Recompile 이벤트를 조사할 수 있습니다.
불완전한 부분 저장 프로시저의 컴파일

경고: 이 문서는 자동으로 번역되었습니다.

속성

문서 ID: 250506 - 마지막 검토: 02/14/2014 09:54:56 - 수정: 2.0

Microsoft SQL Server 7.0 Standard Edition

  • kbnosurvey kbarchive kbmt kbbug kbfix KB250506 KbMtko
피드백