Sql server 由登录的同一用户帐户执行的用户连接计数

Sql server 由登录的同一用户帐户执行的用户连接计数,sql-server,Sql Server,当用户登录到数据库时,会检查他们的会话计数(由他们自己的SQL帐户运行),例如,如果用户“qa”正在登录: select COUNT(dbid) from sys.sysprocesses where loginame='qa' group by loginame 即使同一用户有多个连接,也始终返回计数1 如果我从sa运行相同的语句,则计数结果是正确的。SQL server似乎没有返回除当前会话之外的所有用户自己会话的计数 是否存在一个已知的问题或限制,用户无法计算自己的所有会话 我试图使用存

当用户登录到数据库时,会检查他们的会话计数(由他们自己的SQL帐户运行),例如,如果用户“qa”正在登录:

select COUNT(dbid) from sys.sysprocesses where loginame='qa' group by loginame
即使同一用户有多个连接,也始终返回计数1

如果我从sa运行相同的语句,则计数结果是正确的。SQL server似乎没有返回除当前会话之外的所有用户自己会话的计数

是否存在一个已知的问题或限制,用户无法计算自己的所有会话

我试图使用存储过程检查登录计数;它在同一数据库中运行,与登录的用户相同。本质上,该过程使用上面的select语句

我尝试过使用
sys.dm_exec_sessions
,以及
sys.syslogins
,结果类似


用户是否有办法自检自己的登录计数?

您确定其他帐户有权访问该视图吗

Per:


是的,谢谢。在授予视图服务器状态后,它正在工作。值得注意的是,它注意到sysprocesss将在将来被删除,sys.dm_exec_sessions是首选视图。
If a user has VIEW SERVER STATE permission on the server, the user will see 
all executing sessions in the instance of SQL Server; 
otherwise, the user will see only the current session.