我正在考虑对全天的连接类型和数量进行一些分析。

我正在使用 sys.sysprocesses 收集我需要的信息,特别是查看 'cmd' 对连接进行分类的字段。有谁有这个字段中值的完整定义列表吗?我可以弄清楚其中很多代表什么,但我无法在网上找到其中一些的任何定义,例如 'XE TIMER'

非常感谢,

有帮助吗?

解决方案

正如评论中所建议的 系统进程 已弃用,Microsoft 不建议进一步使用它。它只是为了向后兼容

上面的视图已被替换为 sys.dm_exec_requests. 。你会看到 cmd sys.sysprocesses 中的列现在是 command sys.dm_exec_requests 中的列,此列告诉您

标识当前正在处理的命令类型。常见命令类型包括以下内容:

• 选择

• 插入

• 更新

• 删除

• 备份日志

• 备份数据库

• DBCC

• 为了

可以通过使用SYS.DM_EXEC_SQL_TEXT和相应的sql_handle来检索请求的文本。内部系统进程根据其执行的任务类型设置命令。任务可以包括以下内容:• 锁定监视器

• 检查点懒惰

• 作家

不可为空。

相反,我建议你专注于专栏 sql_handle 它存在于 sys.dm_exec_requests. 。下面的代码将为您提供 sql_handle 后面的查询

select er.session_id,
er.command,
t.text --gives query behind sql_handle
from sys.dm_exec_requests er
cross apply sys.dm_exec_sql_text(er.sql_handle) t
许可以下: CC-BY-SA归因
不隶属于 dba.stackexchange
scroll top