sql-server - 如何通过 sqlcmd 检测活动用户会话
问题描述
我想在重启实例之前获取活动用户会话数,排除任何后台会话。
只是想使用以下查询,但我不确定如何通过 SQL Server 排除 tempdb 的选择会话。
SELECT COUNT(*) FROM sys.dm_exec_requests WHERE session_id in (select session_id from sys.dm_exec_sessions where status = 'running')
任何建议将再次受到赞赏。
解决方案
如果您只需要活动用户会话并排除 tempdb 的会话
尝试这个
select count(*) FROM sys.dm_exec_requests
where
database_id <> DB_ID('tempdb')
and
session_id in
(select session_id from sys.dm_exec_sessions where is_user_process = 1 and status='running')
推荐阅读
- julia - Julia:无法将 Array{Number,1} 类型的对象“转换”为 GLM.LmResp 类型的对象
- sql - SQL查找具有唯一ID的行之间的差异
- safari - Applescript 和 Automator - Safari 卡住了,我必须按 Esc 才能继续
- javascript - 如果没有找到匹配项,为什么 indexOf 返回 -1?
- javascript - jquery 裁剪框更改选项
- dialogflow-es - 用户需要从 100 个项目列表中选择一个选项。在对话流中实现这一点的最佳方法是什么?
- java - 没有空格的字符串
- mysql - 带光标的事件不起作用
- javascript - 如何在java脚本中获取嵌套json的键名和长度
- ios - 使用 UIRefreshControl 刷新 UITableView