FIX: SQL Server 테이블 변수에 커서를 사용 하는 저장된 프로시저를 실행할 때 액세스 위반

이 문서는 Microsoft 기계 번역 소프트웨어를 이용하여 번역되었으며 Microsoft Community에 의한 Community Translation Framework(CTF) 기술 혹은 사람이 번역한 내용에 의하여 사후 편집될 수 있습니다. Microsoft는 Knowledge Base에 있는 모든 문서에 다양한 언어로 접근할 수 있도록 하기 위하여 기계 번역, 사람에 의한 번역 및 커뮤니티가 편집한 내용을 모두 제공합니다. 번역된 문서는 어휘, 구문 및/혹은 문법에 오류가 있을 수 있습니다. Microsoft는 번역 오류로 인한 부정확성, 오류 및/또는 손해와 이를 고객이 사용하는 데에 대하여 책임을 지지 않습니다.

이 문서의 영문 버전 보기:3138930
현상
Microsoft SQL Server 2012 또는 SQL Server 2014 테이블 변수에 커서를 사용 하는 저장된 프로시저를 만든다고 가정 합니다. 또한 저장된 프로시저는현재의 문은 커서와 함께 사용 하 여 테이블을 업데이트 합니다.

예를 들어, 저장된 프로시저는 다음과 유사할 수 있습니다.
CREATE PROCEDURE dbo.usp_TestSP AS  BEGIN  DECLARE @TableVar TABLE (SomeInt INT NULL) INSERT @TableVar VALUES (NULL)  DECLARE @curInt INT, @newInt INT SET @newInt = 1  DECLARE ccc CURSOR LOCAL FOR SELECT SomeInt FROM @TableVar WHERE SomeInt IS NULL  OPEN ccc  FETCH NEXT FROM ccc INTO @curInt UPDATE @TableVar SET SomeInt = @newInt WHERE CURRENT OF cccCLOSE ccc  SELECT * FROM @TableVar END 

시스템 sp_refreshsqlmodule 을 사용 하 여 저장된 프로시저를 실행 하면 저장 프로시저를 액세스 위반이 발생할 수 있습니다 및 다음과 유사한 오류 메시지가 나타날 수 있습니다.
메시지 596, 수준 21, 상태 1Cannot 세션이 중지 상태에 있기 때문에 실행을 계속 합니다. 메시지 0, 수준 20, 상태 0A 오류가 현재 명령에서 발생 합니다. 결과, 있는 경우를 삭제 해야 합니다.

이 상황에서는 다음과 유사한 오류가 SQL Server 오류 로그에 기록 됩니다.
time.730 날짜 spid51 SqlDumpExceptionHandler: 치명적인 예외를 생성 하는 프로세스 51 c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process.
date time.730 spid51 * *******************************************************************************
time.730 spid51 날짜 *
날짜 time.730 spid51 * 시작 스택 덤프:
날짜 time.730 spid51 * 날짜 시간 spid 51
time.730 spid51 날짜 *
time.730 spid51 날짜 *
날짜 time.730 spid51 * 예외 주소 = 00007FFC270236D5 Module(sqllang+00000000005036D5)
날짜 time.730 spid51 * 예외 코드 c0000005 EXCEPTION_ACCESS_VIOLATION =
날짜 time.730 spid51 * 액세스 위반 0000006F00620074 주소 읽기
날짜 time.730 spid51 * 바이트 입력 버퍼 136-
날짜 time.730 spid51 * EXECUTE sp_refreshsqlmodule N'[dbo]. [usp_TestSP]'
time.730 spid51 날짜 *
time.730 spid51 날짜 *

해결 방법

누적 업데이트 정보

이 문제는 다음 업데이트에서 해결 됩니다.
권장 사항: SQL Server 용 최신 누적 업데이트를 설치 합니다.

SQL Server용 각각의 새로운 누적 업데이트는 모이전 누적 업데이트에 포함된 모든 핫픽스 및 보안 수정 프로그램을 포함합니다. SQL Server에 대한 최신 누적 업데이트를 확인해 보십시오.
현재 상태
Microsoft는 이 문제가 '적용 대상' 섹션에 나열된 Microsoft 제품의 문제임을 확인했습니다.
참조
정보는 용어 용어를 참조하십시오.

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

속성

문서 ID: 3138930 - 마지막 검토: 05/31/2016 10:10:00 - 수정: 3.0

Microsoft SQL Server 2012 Service Pack 3, Microsoft SQL Server 2012 Service Pack 2, Microsoft SQL Server 2014 Service Pack 1, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Standard

  • kbqfe kbfix kbexpertiseinter kbsurveynew kbmt KB3138930 KbMtko
피드백