데이터베이스 개발자 Tip & 강좌

SQLER의 개발자들이 만들어가는 데이터베이스 사용자 Tip & 강좌 게시판입니다. SQL서버, Oracle, MySQL 등 여러 클라우드/오픈소스 기반 데이터베이스 개발 및 운영 관련 팁과 쿼리 노하우를 이곳에서 가장 먼저 접하실 수 있습니다. 많은 도움 되시길 바랍니다.

SQL Version에 따른 sp_prepare 정보 반환

 

  • Version : SQL Server 2008R2, 2012

 

SQL Server의 시스템 저장 프로시저인 sp_prepare는 매개 변수가 있는 T-SQL문을 준비하고 실행을 위해 핸들을 반환하는 기능을 한다. SQL Server Version에 따라 반환되는 정보가 어떻게 다른지 알아 보자.

 

[단일 문 일괄처리에 대한 메타데이터 반환]

아래 표는 sp_prepare 문을 포함하는 일괄 처리에 대한 메타데이터를 반환 여부를 나타낸다.

 

  • SQL Server 2012 이전 버전에서도 사용자에게 sp_prepare 메타데이터를 반환한다. 이것은 내부적으로 FMTONLY ON 문을 설정하고 실행하여 구현되었다.
  • 클라이언트 버전 2012 이상이면 SQL 2012 RTM 및 SP1에서 sp_prepare는 메타데이터를 반환하지 않는다. FMTONLY ON이 설정되지 않으며 이전 호환성 (클라이언트 2008) 클라이언트에만 사용된다.
  • 일괄 처리가 하나의 문이 포함되어 있는 경우 SQL 2012 CU6(Build 11.0.2401.0) 및 SP1 CU3 이상에서는 사용자에게 메타데이터를 반환한다. (성능 문제의 핫픽스 참고 : http://support.microsoft.com/kb/2772525)

 

 

[다중 문 일괄처리에 대한 메타데이터 반환]

declare @p1 int

 

set @p1=NULL

 

exec sp_prepare @p1 output,NULL,N'select * from sys.objects; select 1;',1

 

select @p1

 

 

아래 표는 다중 문 일괄처리에 대한 메타데이터 반환 여부를 나타낸다.

 

 

[참고자료]

http://blogs.msdn.com/b/psssql/archive/2013/07/23/when-does-sp-prepare-return-metadata.aspx

http://support.microsoft.com/kb/2772525

http://msdn.microsoft.com/ko-kr/library/ff848808.aspx

 

 



강성욱 / jevida@naver.com
Microsoft SQL Server MVP
Blog : http://sqlmvp.kr
Facebook : http://facebook.com/sqlmvp

No. Subject Author Date Views
1832 SQL Server Performance Counter Guidance jevida(강성욱) 2016.09.30 2537
1831 SQL Server CREATE TABLE syntax diagrams jevida(강성욱) 2016.09.30 1421
1830 SQL Server 2012 Sp1 설치 이슈 및 해결 jevida(강성욱) 2016.09.30 1584
1829 SSD에서 DBCC CHECKDB 성능 벤치마킹 jevida(강성욱) 2016.09.30 1932
1828 Collation에 따른 ALTER DATABASE 실패 jevida(강성욱) 2016.09.30 1944
1827 LDF 파일이 잘리지 않는 이유 jevida(강성욱) 2016.09.30 2054
1826 Tempdb 경합 확인 및 해결 (Tempdb Contention) jevida(강성욱) 2016.09.30 2222
1825 SQL Server IO 병목 확인과 오해 jevida(강성욱) 2016.09.30 2514
» SQL Version에 따른 sp_prepare 정보 반환 jevida(강성욱) 2016.09.30 1717
1823 DReplay 활성 세션 초과 에러 jevida(강성욱) 2016.09.30 1543
1822 저장 프로시저 내 임시 테이블 사용과 프로시저 재컴파일 jevida(강성욱) 2016.09.30 1875
1821 NUMA 노드와 추척플래그 8048 jevida(강성욱) 2016.09.30 820
1820 온라인 인덱스 리빌드와 조각화 증가 jevida(강성욱) 2016.09.30 1609
1819 VARCHAR(MAX) and NTEXT 쿼리 성능 jevida(강성욱) 2016.09.30 4606
1818 CPU 리소스 상태에 따른 병렬 처리 제한 jevida(강성욱) 2016.09.30 1078
1817 매개변수 값의 변경과 SQL 서버 성능 저하 jevida(강성욱) 2016.09.30 1274
1816 IN 절 사용시 예기치 못한 액세스 위반과 SQL Server 종료 jevida(강성욱) 2016.09.30 1060
1815 SQL 버전과 CLR (.NET Framework 버전에 따른 오류) jevida(강성욱) 2016.09.30 1191
1814 SWITCHOFFSET 내장함수의 잘 못된 예측 - 미리 계산한 값을 쿼리에 연결하여 최적화 하기 jevida(강성욱) 2016.09.30 1332
1813 테이블 반환 매개변수 사용과 SQL 2012의 향상된 캐싱 기능 jevida(강성욱) 2016.09.30 1234





XE Login