FIX: BLOB 변수를 사용하는 저장된 프로시저 및 Microsoft SQL Server 2008 Microsoft SQL Server 2008 R2 문자열 함수에 변수를 사용할 경우 이 저장된 프로시저에 대한 쿼리 계획이 캐시되지 않습니다.

기술 자료 번역 기술 자료 번역
기술 자료: 2380435 - 이 문서가 적용되는 제품 보기.
Microsoft는 Microsoft SQL Server 2008 배포하고 Microsoft SQL Server 2008 R2 다운로드 가능한 파일로 해결합니다. 수정 프로그램은 계속 누적되는 형태입니다 때문에 핫픽스가 모두 각 새 릴리스에 포함된 이전 SQL Server 2008 또는 SQL Server 2008 R2 포함된 모든 보안 릴리스의 수정.
모두 확대 | 모두 축소

이 페이지에서

현상

다음과 같은 경우를 생각해 볼 수 있습니다.:
  • Microsoft SQL Server 2008 또는 Microsoft SQL Server 2008 R2 저장된 프로시저를 만듭니다.
  • 저장된 프로시저 (BLOB) 이진 대형 개체 변수를 사용합니다.
  • BLOB 변수에 문자열 함수는 사용합니다.
  • 저장된 프로시저를 실행합니다.
이 경우 저장된 프로시저에 대한 쿼리 계획이 캐시되지 않습니다.

해결 방법

누적 업데이트 정보

SQL Server 2008 서비스 팩 1

이 문제에 대한 수정 프로그램은 SQL Server 2008 서비스 팩 1용 누적 업데이트 10에서 에서 처음 릴리스되었습니다. 이 누적 업데이트 패키지에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
2279604SQL Server 2008 서비스 팩 1에서 10 누적 업데이트 패키지
참고빌드 누적되는 형태이므로 새로운 각 수정 릴리스 핫픽스가 모두 포함하며 이전 SQL Server 2008 포함된 모든 보안 릴리스의 수정. 이 핫픽스가 포함된 최신 수정 릴리스를 적용하는 것이 좋습니다. 위 핫픽스 관련 추가 정보는 다음 Microsoft 기술 문서를 참조하십시오.:
970365SQL Server 2008 서비스 팩 1 릴리스 이후에 릴리스된 SQL Server 2008 빌드
Microsoft SQL Server 2008 핫픽스는 특정 SQL Server 서비스 팩은 만들 수 있습니다. SQL Server 2008 서비스 팩 1을 설치하는 데 SQL Server 2008 서비스 팩 1 핫픽스를 적용해야 합니다. 기본적으로 SQL Server 서비스 팩에서 제공되는 모든 핫픽스는 다음 SQL Server 서비스 팩에 포함됩니다.

SQL Server 2008 서비스 팩 2

이 문제에 대한 수정 프로그램은 먼저 SQL Server 2008 서비스 팩 2는 누적 업데이트 1 릴리스되었습니다. 이 누적 업데이트 패키지에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
2289254SQL Server 2008 서비스 팩 2용 누적 업데이트 1
참고빌드 누적되는 형태이므로 새로운 각 수정 릴리스 핫픽스가 모두 포함하며 이전 SQL Server 2008 포함된 모든 보안 릴리스의 수정. 이 핫픽스가 포함된 최신 수정 릴리스를 적용하는 것이 좋습니다. 위 핫픽스 관련 추가 정보는 다음 Microsoft 기술 문서를 참조하십시오.:
2402659SQL Server 2008 서비스 팩 2 릴리스 이후에 릴리스된 SQL Server 2008 빌드

SQL Server 2008 R2

이 문제에 대한 수정 누적 업데이트 4에서 처음 발표되었습니다. SQL Server 2008 R2 누적 업데이트 패키지를 구하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
2345451SQL Server 2008 R2 누적 업데이트 패키지 4
참고빌드 누적되는 형태이므로 새로운 각 수정 릴리스 핫픽스가 모두 포함하며 이전 SQL Server 2008 R2 포함된 모든 보안 릴리스의 수정. 이 핫픽스가 포함된 최신 수정 릴리스를 적용하는 것이 좋습니다. 위 핫픽스 관련 추가 정보는 다음 Microsoft 기술 문서를 참조하십시오.:
981356SQL Server 2008 R2 SQL Server 2008 R2 출시된 이후에 릴리스된 빌드

현재 상태

Microsoft는 "본 문서의 정보는 다음의 제품에 적용됩니다." 절에 나열된 Microsoft 제품에서 이 문제가 발생하는 것을 확인했습니다..

추가 정보

이 문제를 재현하려면 다음과 같이 하십시오.
  1. 다음 코드를 실행하여 두 만들려면 "p_test1" 및 "p_test2" 저장 프로시저 "P_test1" BLOB 변수를 사용하고 "p_test2" nvarchar(100) 변수를 사용합니다.
    use tempdb
    go
    if OBJECT_ID('p_test1') is not null drop proc p_test1
    if OBJECT_ID('p_test2') is not null drop proc p_test2
    go
    create proc p_test1
    @s nvarchar(max)
    as
    begin
    select * from sys.objects 
    where name = UPPER(@s)
    end
    go
    create proc p_test2
    @s nvarchar(100)
    as
    begin
    select * from sys.objects 
    where name = UPPER(@s)
    end
    go
    
  2. 프로시저 캐시를 지우려면 다음 코드를 실행하여 저장 프로시저를 두 실행:
    dbcc freeproccache
    go
    exec p_test1 N'abc'
    exec p_test2 N'abc'
    go
    
  3. 캐시된 계획 확인하려면 다음 코드를 실행하십시오.
    select object_name(CONVERT(int, a.value)), cp.*
    from sys.dm_exec_cached_plans cp
    cross apply sys.dm_exec_plan_attributes(cp.plan_handle) a
    where cp.objtype = 'Proc'
    and a.attribute = 'objectid'
    
    
참고Microsoft SQL Server 2008 또는 Microsoft SQL Server 2008 R2 인스턴스 저장 프로시저의 이러한 종류의 많은 동시 실행 경우 인스턴스의 컴파일 잠금을 인해 발생하는 차단이 발생할 수 있습니다.

컴파일 잠금으로 인해 SQL Server 블로킹 설명에 대한 자세한 내용은 Microsoft 기술 자료를 다음 문서를 참조하십시오.
263889SQL Server는 컴파일 잠금으로 인해 블로킹 설명

참조

Transact-SQL 문자열 함수에 대한 자세한 내용은 다음 Microsoft 웹 사이트를 방문하십시오.
Transact-SQL 문자열 함수
SQL Server의 증분 서비스 모델에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
935897보고된 문제에 대한 핫픽스를 제공하는 SQL Server 팀으로부터 증분 서비스 모델을 사용합니다
SQL Server 업데이트의 명명 스키마에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
822499Microsoft SQL Server 소프트웨어 업데이트 패키지의 새 명명 스키마
소프트웨어 업데이트 용어에 대한 자세한 문서를 보려면 Microsoft 기술 자료에 있는 다음 문서를 참조하십시오.:
824684Microsoft 소프트웨어 업데이트를 설명하는 데 사용되는 표준 용어에 대한 설명

속성

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

피드백 보내기

 

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