증상
다음과 같은 경우를 생각해 볼 수 있습니다.
-
Microsoft SQL Server 2012에서 자식 저장 프로시저를 포함 하는 저장 프로시저를 사용 하 고 있습니다.
-
자식 저장 프로시저는 테이블을 매개 변수로 사용 합니다.
-
임시 테이블을 만든 다음 자식 저장 프로시저에 매개 변수로 전달 합니다.
-
자식 저장 프로시저는 커서를 사용 하 여 임시 테이블에 대해 일부 쿼리를 실행 합니다.
이 시나리오에서는 SQL Server 2012의 성능을 저하 시키는 메모리 누수가 발생 합니다.
해결 방법
누적 업데이트 정보
SQL Server 2012 서비스 팩 1(sp1) 용 누적 업데이트 3
이 문제에 대 한 픽스는 먼저 누적 업데이트 3에서 릴리스 되었습니다. SQL Server 2012 SP 1 용 누적 업데이트 패키지를 구하는 방법에 대 한 자세한 내용은 다음 문서 번호를 클릭 하 여 Microsoft 기술 자료 문서를 참조 하세요.
2812412 SQL Server 2012 서비스 팩 1 용 누적 업데이트 패키지 3참고 빌드가 누적 되므로 새로운 각 수정 릴리스에는 이전 SQL Server 2012 SP 1 fix 릴리스의 모든 핫픽스와 모든 보안 수정 사항이 포함 되어 있습니다. 이 핫픽스를 포함 하는 최신 픽스 릴리스를 적용 하는 것이 좋습니다. 자세한 내용을 확인하려면 다음 문서 번호를 클릭하여 Microsoft 기술 자료 문서를 참조하십시오.
2772858 SQL Server 2012 서비스 팩 1 이후 릴리스된 SQL Server 2012 빌드가 릴리스 되었습니다.
상태
Microsoft는 "적용 대상" 절에 나열한 Microsoft 제품에서 이 문제를 확인했습니다.
추가 정보
다음 표에서는 SQL Server 인스턴스의 "현상" 섹션 및 규칙이 평가 되는 SQL Server 버전에서 설명 하는 조건을 자동으로 확인 하는 제품에 대 한 자세한 정보를 제공 합니다.
규칙 소프트웨어 |
규칙 제목 |
규칙 설명 |
규칙을 평가할 제품 버전 |
---|---|---|---|
System Center Advisor |
SQL Server 2012에서 중첩 된 저장 프로시저의 임시 테이블에 대해 쿼리가 실행 되 면 SQL Server 메모리가 누수 됨 |
이 SQL Server 인스턴스 관리자가 메모리 누수 문제에 대 한 수정 된 빌드 보다 낮은 SQL Server 빌드 상태를 발견 했습니다. 이 문제는 더 자세히 커서를 사용 하는 임시 테이블을 사용 하는 자식 저장 프로시저를 포함 하는 저장 프로시저가 있는 경우에 발생할 수 있습니다. Sys.dm_os_memory_clerks MEMORYCLERK_SQLOPTIMIZER를 sys.dm_os_memory_objects 매우 높음으로 MEMOBJ_EXECCOMPILETEMP 수 있습니다. 자세한 내용은 KB 문서를 참조 하세요. |
SQL Server 2012 |