DBCC INPUTBUFFER(Transact-SQL)
클라이언트가 MicrosoftSQL Server 인스턴스로 마지막으로 전송한 문을 표시합니다.
구문
DBCC INPUTBUFFER ( session_id [ , request_id ])
[WITH NO_INFOMSGS ]
인수
session_id
각각의 기본 활성 연결과 연관된 세션 ID입니다.request_id
현재 세션 내에서 검색할 정확한 요청(일괄 처리)입니다.다음 쿼리에서는 request_id를 반환합니다.
SELECT request_id FROM sys.dm_exec_requests WHERE session_id = @@spid
WITH
지정할 옵션을 활성화합니다.NO_INFOMSGS
심각도가 0에서 10 사이인 모든 정보 메시지를 표시하지 않습니다.
결과 집합
DBCC INPUTBUFFER는 다음과 같은 열이 있는 행 집합을 반환합니다.
열 이름 |
데이터 형식 |
설명 |
---|---|---|
EventType |
nvarchar(30) |
이벤트 유형입니다. RPC Event 또는 Language Event를 사용할 수 있습니다. 마지막 이벤트가 감지되지 않으면 No Event가 출력됩니다. |
Parameters |
int |
0 = 텍스트 1- n = 매개 변수 |
EventInfo |
nvarchar(4000) |
RPC의 EventType의 경우 EventInfo에 프로시저 이름만 포함됩니다. EventType이 Language인 경우 이벤트의 첫 4000자만 표시됩니다. |
예를 들어 DBCC INPUTBUFFER는 버퍼의 마지막 이벤트가 DBCC INPUTBUFFER(11)인 경우에 다음과 같은 결과 집합을 반환합니다.
EventType Parameters EventInfo
-------------- ---------- ---------------------
Language Event 0 DBCC INPUTBUFFER (11)
(1 row(s) affected)
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
사용 권한
이 문을 실행하려면
사용자는 sysadmin 고정 서버 역할의 멤버여야 합니다.
사용자에게 VIEW SERVER STATE 권한이 있어야 합니다.
session_id는 명령이 실행되는 세션 ID과 같아야 합니다. 세션 ID를 확인하려면 다음 쿼리를 실행합니다.
SELECT @@spid
예
다음 예에서는 이전 연결에서 긴 트랜잭션이 실행되는 동안 두 번째 연결에서 DBCC INPUTBUFFER를 실행합니다.
CREATE TABLE T1 (Col1 int, Col2 char(3));
GO
DECLARE @i int;
SELECT @i = 0
BEGIN TRAN
SELECT @i = 0
WHILE (@i < 100000)
BEGIN
INSERT INTO T1 VALUES (@i, CAST(@i AS char(3)))
SELECT @i = @i + 1
END;
COMMIT TRAN;
--Start new connection #2.
DBCC INPUTBUFFER (52);