Ich verwende SQL Server 2008 Enterprise. Ich möchte alle aktiven SQL Server-Verbindungen und die zugehörigen Informationen aller Verbindungen anzeigen, z. B. von welcher IP-Adresse, welcher Verbindung zu welcher Datenbank oder etwas anderem.
Gibt es vorhandene Befehle, um dieses Problem zu lösen?
sql
sql-server
sql-server-2008
George2
quelle
quelle
Antworten:
Sie können die
sp_who
gespeicherte Prozedur verwenden.quelle
Siehe auch die Microsoft-Dokumentation zu sys.sysprocesses .
quelle
hostname
, die KlauselnSELECT
und hinzuzufügen, umGROUP BY
zu sehen, welche Clients verbunden sind. Außerdem habe ich gerade den Msft-Tippfehler fürloginame
- ist das ein Artefakt aus der Zeit, als die Spaltennamen auf 8 Zeichen begrenzt waren? lolORDER BY 1, 2 DESC, 3
Abgesehen davon
sp_who
können Sie auch diesp_who2
gespeicherte Systemprozedur "undokumentiert" verwenden, die Ihnen detailliertere Informationen liefert. Siehe Unterschied zwischen sp_who und sp_who2 .quelle
Klicken Sie in der Symbolleiste auf das Symbol "Aktivitätsmonitor" ...
Aus Thorstens Kommentaren:
Klicken Sie in SQL Server Management Studio mit der rechten Maustaste auf Server und wählen Sie "Aktivitätsmonitor" aus dem Kontextmenü - oder verwenden Sie die Tastenkombination Ctrl+ Alt+ A.
quelle
Unten ist mein Skript, um alle mit einer Datenbank verbundenen Sitzungen zu finden. Sie können überprüfen, ob diese Sitzungen E / A ausführen, und es gibt eine Option, um sie zu beenden.
Das Skript zeigt auch den Status jeder Sitzung an.
Schauen Sie unten.
quelle
Ich habe das zusammengeschmissen, damit Sie die Ergebnisse abfragen können
quelle
Die Abfrage von MS, in der die Verwendung des
KILL
Befehls erläutert wird, ist sehr nützlich, wenn Sie Informationen zur Verbindung bereitstellen:quelle
Sie können den folgenden T-SQL-Befehl ausführen:
quelle