查找“.net sqlclient 数据提供程序”背后的应用程序

Eze*_*zeq 5 sql-server trace connections

我试图找到哪个应用程序在 SQL Server 上打开了各种连接,所有连接都命名为“.net sqlclient 数据提供程序”。

从系统监视器我得到了机器名称;
在带有 的客户端上netstat -a -b -o | Find "SQLServer",我找到了 4 个连接,所有连接都是“PID 4 (ntoskrnl) ...是”,这是 Windows,它是一个 MS SQL 服务器。

“SQL server profiler 中的跟踪进程”,使 Management Studio 崩溃。

那么,在我开始一一查杀应用程序之前,您是否知道如何追溯这种联系?

此致;
埃泽克

Ian*_*n_H 5

sp_who2 (MSDN)始终是一个好的开始,您可以查询该sys.processes表或sys.dm_exec_connections (MSDN) DMV。

或者,像Adam Machanic 这样的工具 sp_WhoIsActive可以帮助查找问题流程和查询。

如果您无法直接在 SQL Server 中找到您要查找的内容,您将能够找到主机名/IP 地址和登录名等信息,这将帮助您找到罪魁祸首。

查询 DMV/sys.processes 的示例代码(如果你想做更多,你必须砍掉它):

Select spid,hostname,hostprocess,program_name,nt_username, blocked, waittime, waittype, loginame,cmd,spid,waittype,waittime,lastwaittype,cpu,physical_io,memusage,login_time,last_batch,open_tran,status,net_address, t.text 
from sys.sysprocesses sp 
--JOIN sys.dm_exec_connections con ON con.session_id = sp.sid
CROSS APPLY( select text from sys.dm_exec_sql_text(sp.sql_handle))t 
--where hostname
order by sp.spid
Run Code Online (Sandbox Code Playgroud)