主页 > 知识库 > SQL Server 2016里的sys.dm_exec_input_buffer的问题

SQL Server 2016里的sys.dm_exec_input_buffer的问题

热门标签:真3地图标注 疫情时期电话机器人 台湾外呼系统软件 濮阳清丰400开头的电话申请 乐昌电话机器人 地图标注可以编辑地名吗 南京怎么申请400这种电话 地图标注跑线下市场 南通智能外呼系统怎么样

我们都知道DBCC命令有点尴尬,因为你不能在T-SQL查询里调用它们,你也不能关联它们的输出到其它DMV/DMF。例如你想为每个用户会话返回最后一个执行的SQL语句....

sys.dm_exec_input_buffer

在SQL Server 2016里,事情就变得简单多,因为微软为你提供了一个新DMFsys.dm_exec_input_buffer,它和DBCC INPUTBUFFER一样做同样的工作。

使用sys.dm_exec_input_buffer非常简单:这个DMF需要2个输入参数——会话和指定会话的请求id。下面代码展示了调用新函数的简单例子。

SELECT * FROM sys.dm_exec_input_buffer(55, 0)
GO 

但你可以做更复杂的事情,像用CROSS APPLY运算符与其它DMV关联信息。我们来看下面的代码。

SELECT
r.session_id, 
ib.event_info
FROM sys.dm_exec_requests r
JOIN sys.dm_exec_sessions s ON s.session_id = r.session_id
CROSS APPLY sys.dm_exec_input_buffer(r.session_id, r.request_id) ib
WHERE
s.is_user_process = 1
GO

如你在这里看到的,这个查询对于所有当前执行的查询,返回所有提交的SQL语句。很简单,是不是?

您可能感兴趣的文章:
  • SqlServer应用之sys.dm_os_waiting_tasks 引发的疑问(上)
  • SqlServer应用之sys.dm_os_waiting_tasks 引发的疑问(中)

标签:福建 河北 广安 阿里 南京 陕西 通辽 马鞍山

巨人网络通讯声明:本文标题《SQL Server 2016里的sys.dm_exec_input_buffer的问题》,本文关键词  SQL,Server,2016里,的,sys.dm,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《SQL Server 2016里的sys.dm_exec_input_buffer的问题》相关的同类信息!
  • 本页收集关于SQL Server 2016里的sys.dm_exec_input_buffer的问题的相关信息资讯供网民参考!
  • 推荐文章