sys.dm_exec_input_buffer(Transact-SQL)
적용 대상: SQL Server 2014 Azure SQL 데이터베이스 Azure Synapse Analytics Analytics Platform System(PDW)
SQL Server 인스턴스에 제출된 문에 대한 정보를 반환합니다.
구문
sys.dm_exec_input_buffer ( session_id , request_id )
인수
session_id 조회할 일괄 처리를 실행하는 세션 ID입니다. session_id 작습니다. 다음 동적 관리 개체에서 session_id를 얻을 수 있습니다.
request_id sys.dm_exec_requests request_id. request_id int입니다.
반환된 테이블
열 이름 | 데이터 형식 | 설명 |
---|---|---|
event_type | nvarchar(256) | 지정된 spid에 대한 입력 버퍼의 이벤트 형식입니다. |
parameters | smallint | 문에 대해 제공된 모든 매개 변수입니다. |
event_info | nvarchar(max) | 지정된 spid에 대한 입력 버퍼에 있는 문의 텍스트입니다. |
사용 권한
SQL Server에서 사용자에게 VIEW SERVER STATE 권한이 있는 경우 사용자는 SQL Server 인스턴스에서 실행 중인 모든 세션을 볼 수 있습니다. 그렇지 않으면 사용자에게 현재 세션만 표시됩니다.
Important
VIEW SERVER STATE 권한(예: 트리거, 저장 프로시저 또는 함수)이 없는 SQL Server에 대해 SQL Server Management Studio 외부에서 이 DMV를 실행하면 master 데이터베이스에 대한 사용 권한 오류가 발생합니다.
SQL Database에서 사용자가 데이터베이스 소유자인 경우 사용자는 SQL Database에서 실행 중인 모든 세션을 볼 수 있습니다. 그렇지 않으면 사용자에게 현재 세션만 표시됩니다.
Important
소유자 권한(예: 트리거, 저장 프로시저 또는 함수)없이 Azure SQL Database에 대해 SQL Server Management Studio 외부에서 이 DMV를 실행하면 master 데이터베이스에 대한 사용 권한 오류가 발생합니다.
SQL Server 2022 이상에 대한 사용 권한
서버에 대한 VIEW SERVER PERFORMANCE STATE 권한이 필요합니다.
설명
이 동적 관리 함수는 CROSS APPLY를 수행하여 sys.dm_exec_sessions 또는 sys.dm_exec_requests 함께 사용할 수 있습니다.
예제
A. 간단한 예
다음 예제에서는 SPID(세션 ID) 및 요청 ID를 함수에 전달하는 방법을 보여 줍니다.
SELECT * FROM sys.dm_exec_input_buffer (52, 0);
GO
B. 추가 정보에 크로스 적용 사용
다음 예제에서는 사용자 세션에 대한 입력 버퍼를 나열합니다.
SELECT es.session_id, ib.event_info
FROM sys.dm_exec_sessions AS es
CROSS APPLY sys.dm_exec_input_buffer(es.session_id, NULL) AS ib
WHERE es.is_user_process = 1;
GO