“cmd”字段定义 sysprocesses MS SQL Server
-
29-09-2020 - |
题
我正在考虑对全天的连接类型和数量进行一些分析。
我正在使用 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
不隶属于 dba.stackexchange