显示从客户端发送到 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 事件或?Language 事件。检测不到上一个事件时,输出为?No Event。
参数
smallint
0 = 文本
1-?n?= 参数
EventInfo
nvarchar(4000)
对于 RPC 的?EventType,EventInfo?仅包含过程名。对于 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 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);
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!