我正在设计一个应用程序,我正在寻找最好的方法来告诉谁当前登录到SQL服务器.我将使用SSMS内置的Activity Monitor,它显示了访问服务器的所有进程的列表 - 非常酷.
但是,如果在我的.NET代码中,每次访问数据库时它都使用单独的连接,那么我如何能够告诉谁当前登录?如果用户只是在看屏幕而当时没有从数据库中检索数据,那么它们就不会显示正确吗?
小智 19
在MSSQL服务器中,您可以运行以下命令...
exec sp_who2
Run Code Online (Sandbox Code Playgroud)
这将为您提供大量信息,包括登录的人员,应用程序名称,当前命令等等.
谢谢
DMV sys.dm_exec_sessions可用于查找已连接的会话.您可以将其加入sys.dm_exec_requests以获取请求信息(如果它正在运行),或者获取可以加入sys.dm_exec_connections的连接特定信息.session_id用于所有连接.
我个人使用DMV而不是旧的sp_who存储过程.正如其他人所指出的,如果连接关闭,你将看不到它,所以如果你想在连接之间进行跟踪,你必须考虑另一种缓存连接信息的方法.
| 归档时间: |
|
| 查看次数: |
52855 次 |
| 最近记录: |