it-swarm.com.de

Finden der Anwendung hinter ".net sqlclient data provider"

Ich versuche herauszufinden, welche Anwendung verschiedene Verbindungen auf dem SQL Server mit dem Namen ".net sqlclient data provider" öffnet.

Vom Systemmonitor habe ich den Maschinennamen erhalten;
Auf dem Client mit netstat -a -b -o | Find "SQLServer" Habe ich 4 Verbindungen gefunden, alle mit PID 4 (ntoskrnl) ... yes dies ist Windows und es ist ein MS SQL Server.

"Trace-Prozess im SQL Server-Profiler" stürzt das Management Studio ab.

Haben Sie eine Idee, wie Sie diese Verbindung zurückverfolgen können, bevor ich anfange, Anwendungen einzeln zu beenden?

Freundliche Grüße;
Ezeq

5
Ezeq

sp_who2(MSDN) ist immer ein guter Anfang, und Sie können die sys.processes Tabelle oder sys.dm_exec_connections(MSDN) DMV.

Alternativ so etwas wie Adam Machanic'ssp_WhoIsActive kann helfen, problematische Prozesse und Abfragen zu finden.

Wenn Sie nicht direkt in SQL Server finden, wonach Sie suchen, können Sie beispielsweise den Hostnamen/die IP-Adresse und den Anmeldenamen finden, mit denen Sie den Täter ausfindig machen können.

Beispielcode zum Abfragen von DMV/sys.processes (Sie müssen ihn zerhacken, wenn Sie mehr tun möchten):

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
4
Ian_H

In SQL Server Profiler-Ereignissen gibt es eine Spalte "ClientProcessID", in der dieser Wert für diese Abfragen abgerufen und mit Task-Manager-> Prozessdetail-> Prozess mit derselben ID abgeglichen wird. Auf diese Weise können wir den tatsächlichen Anwendungsnamen erhalten.

2
user164767

Wir verwenden einen Protokollierungsmonitor und bitten unsere App-Entwickler, eine Eigenschaft in der Anwendungsverbindungszeichenfolge mithilfe des folgenden Ansatzes zu aktualisieren:

https://msdn.Microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.connectionstring (v = vs.110) .aspx

Grundsätzlich das Schlüsselwort "App" oder "Anwendungsname" im ConnectionString.

2
JuddGledhill