DBCC INPUTBUFFER (Transact-SQL)

更新日期: 2005 年 12 月 5 日

显示从客户端发送到 Microsoft SQL Server 2005 实例的最后一个语句。

主题链接图标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 事件Language 事件。检测不到上一个事件时,输出为 No Event

Parameters

int

0 = 文本

1- n = 参数

EventInfo

nvarchar(4000)

对于 RPC 的 EventTypeEventInfo 仅包含过程名。对于 Language 的 EventType,仅显示事件的前 4000 个字符。

例如,当缓冲区中的最后一个事件是 DBCC INPUTBUFFER(11) 时,DBCC INPUTBUFFER 将返回以下结果集。

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); 

请参阅

参考

DBCC (Transact-SQL)
sp_who (Transact-SQL)
跟踪标志 (Transact-SQL)

帮助和信息

获取 SQL Server 2005 帮助

更改历史记录

版本 历史记录

2005 年 12 月 5 日

已更改的内容:
  • 为清晰起见,重述了“结果集”说明。
  • 向“权限”部分中添加了详细信息。