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