문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
번역
영문

sys.fn_get_sql(Transact-SQL)

지정된 SQL 핸들에 대한 SQL 문의 텍스트를 반환합니다.

중요 정보 중요

Microsoft SQL Server의 이후 버전에서는 이 기능이 제거됩니다. 새 개발 작업에서는 이 기능을 사용하지 않도록 하고, 현재 이 기능을 사용하는 응용 프로그램은 수정하십시오. 대신 sys.dm_exec_sql_text를 사용해야 합니다. 자세한 내용은 sys.dm_exec_sql_text(Transact-SQL)을 참조하십시오.

항목 링크 아이콘 Transact-SQL 구문 표기 규칙

sys.fn_get_sql ( SqlHandle )

SqlHandle

핸들 값입니다. SqlHandlevarbinary(64)이며 기본값은 없습니다.

열 이름

데이터 형식

설명

dbid

smallint

데이터베이스의 ID입니다. 임시 및 준비된 SQL 문의 경우 문이 컴파일된 데이터베이스의 ID입니다.

objectid

int

데이터베이스 개체의 ID입니다. 임시 SQL 문의 경우 NULL입니다.

number

smallint

프로시저가 그룹화된 경우 그룹의 번호를 나타냅니다.

0 = 항목이 프로시저가 아닙니다.

NULL = 임시 SQL 문입니다.

encrypted

bit

개체가 암호화되었는지 여부를 나타냅니다.

0 = 암호화되지 않음

1 = 암호화됨

text

text

SQL 문의 텍스트입니다. 암호화된 개체의 경우 NULL입니다.

sys.dm_exec_requests(Transact-SQL) 동적 관리 뷰의 sql_handle 열에서 유효한 SQL 핸들을 가져올 수 있습니다.

더 이상 캐시에 존재하지 않은 핸들을 전달하는 경우 fn_get_sql은 빈 결과 집합을 반환합니다. 유효하지 않은 핸들을 전달하는 경우 일괄 처리가 중지되고 오류 메시지가 반환됩니다.

SQL Server 데이터베이스 엔진은 대량 복사 문과 문자열 리터럴이 8KB를 초과하는 문 등의 일부 Transact-SQL 문을 캐시하지 못합니다. 이러한 문에 대한 핸들은 fn_get_sql을 사용하여 검색할 수 없습니다.

결과 집합의 text 열에서 암호를 포함할 수 있는 텍스트가 필터링됩니다. 모니터링되지 않은 저장 프로시저 관련 보안에 대한 자세한 내용은 추적 필터링을 참조하십시오.

fn_get_sql 함수는 DBCC INPUTBUFFER 명령과 유사한 정보를 반환합니다. 다음은 DBCC INPUTBUFFER를 사용할 수 없기 때문에 fn_get_sql 함수를 사용할 수 있는 경우의 예입니다.

  • 이벤트가 255자 이상을 포함할 경우

  • 저장 프로시저의 가장 높은 현재 중첩 수준을 반환해야 하는 경우. 예를 들어 sp_1과 sp_2라는 두 저장 프로시저가 있습니다. sp_1이 sp_2를 호출하고 sp_2가 실행되는 동안 사용자가 sys.dm_exec_requests 동적 관리 뷰에서 핸들을 가져오면 fn_get_sql 함수는 sp_2에 대한 정보를 반환합니다. 또한 fn_get_sql 함수는 가장 높은 현재 중첩 수준에 있는 저장 프로시저의 완전한 텍스트를 반환합니다.

서버에 대한 VIEW SERVER STATE 권한이 있어야 합니다.

데이터베이스 관리자는 다음 예에서처럼 fn_get_sql 함수를 사용하여 문제 진단 프로세스에 도움을 줄 수 있습니다. 관리자는 문제가 있는 세션 ID를 식별한 후에 해당 세션에 대한 SQL 핸들을 검색하고 해당 핸들을 사용하여 fn_get_sql을 호출하고 시작 및 종료 오프셋을 사용하여 문제가 있는 세션 ID의 SQL 텍스트를 확인할 수 있습니다.

DECLARE @Handle varbinary(64);
SELECT @Handle = sql_handle 
FROM sys.dm_exec_requests 
WHERE session_id = 52 and request_id = 0;
SELECT * FROM sys.fn_get_sql(@Handle);
GO

커뮤니티 추가 항목

추가
표시: