Dav*_*.ca 12 sql windows sql-server sql-server-2005
通过使用sp_who2,我可以获得当前登录用户和计算机名称的列表.有些用户正在使用SQL Server登录用户名,例如sa.有没有办法让我可以获得SQL登录用户的Windows登录用户名?
如果无法从计算机名称获取Windows登录用户,是否可以使用WMI类或C#通过其计算机名称查找Windows登录用户名?
我的SQL服务器是Microsoft SQL Server 2005,Windows是Server 2003.
小智 20
要获取用户和计算机名称,请使用以下命令:
SELECT HOST_NAME() AS HostName, SUSER_NAME() LoggedInUser
Run Code Online (Sandbox Code Playgroud)
SQL 登录名和 NT 用户名之间没有链接。
您在这里问了类似的问题:How to find out user name and machine name to access to SQL server
如果超过 1 个用户登录到客户端 PC(例如服务帐户、通过 mstsc 的远程用户等),WMI 方法将不明确。任何类似的方法都需要所使用的帐户在客户端 PC 上具有管理员权限。
我怀疑你能实时做到这一点。
您所能做的就是从那里记录client_net_address输入sys.dm_exec_connections和回溯,可能通过 WMI,但不能从 SQL Server 本身。
您需要用户名吗?或者只是客户端电脑,以便您可以更改应用程序连接字符串?
如果您只有相对较少的 SQL 连接,您最终的解决方案是更改 sa 密码并查看谁调用
| 归档时间: |
|
| 查看次数: |
65269 次 |
| 最近记录: |