sql-server:我怎么知道谁在我的数据库中? [英] sql-server: how do i know who is in my database?

查看:108
本文介绍了sql-server:我怎么知道谁在我的数据库中?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个访问前端和sql server后端.我想知道哪些用户当前正在使用该数据库.使用access或sql-server可以做到这一点吗?

i have an access front end and sql server backend. i would like to know which users are currently using the database. is this possible to do using access or sql-server?

推荐答案

在SQL Server中,您可以运行以下存储过程:

In SQL Server, you can run this stored procedure:

sp_who2

如果要在任何给定时间查看谁在使用服务器,则可以使用此查询.这将使您可以随意进一步过滤.

You can use this query if you want to see who is using your server at any given time. This will allow you to further filter at will.

SELECT
    SessionId           = ses.session_id
    ,[Database]    = DB_Name(er.database_id)
    ,[Login]            = ses.login_name
    ,Host               = ses.host_name
    ,StartTime          = er.start_time
    ,ClientAddress      = con.client_net_address
    ,SQLStatement       = st.text
FROM sys.dm_exec_requests er
OUTER APPLY sys.dm_exec_sql_text(er.sql_handle) st
LEFT JOIN sys.dm_exec_sessions ses ON ses.session_id = er.session_id
LEFT JOIN sys.dm_exec_connections con ON con.session_id = ses.session_id
WHERE ses.is_user_process = 0x1
AND ses.session_id != @@SPID
ORDER BY
    ses.session_id

这篇关于sql-server:我怎么知道谁在我的数据库中?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆