다음을 통해 공유


DBCC INPUTBUFFER(Transact-SQL)

클라이언트가 Microsoft SQL Server 인스턴스로 마지막으로 전송한 문을 표시합니다.

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

구문

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가 출력됩니다.

매개 변수

smallint

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 dbo.T1 (Col1 int, Col2 char(3));
GO
DECLARE @i int = 0;
BEGIN TRAN
SET @i = 0;
WHILE (@i < 100000)
BEGIN
INSERT INTO dbo.T1 VALUES (@i, CAST(@i AS char(3)));
SET @i += 1;
END;
COMMIT TRAN;
--Start new connection #2.
DBCC INPUTBUFFER (52);