SQL Server verwendet SPID -Werte unter 50 für interne Serverprozesse, während jeder SPID über 51 (inklusive) Wert Benutzerprozesse zugewiesen wird.
In diesem Handbuch verstehen Sie, wie Sie Spid -Werte in SQL Server erhalten und wie Sie eine Transaktion mit ihrer SPID abtöten können.
SQL Server Show SPID anzeigen
In SQL Server gibt es verschiedene Möglichkeiten, die Spid der laufenden Prozesse zu erhalten. Dieser Leitfaden wird die häufigste und einfachste Verwendung betrachten.
SP_WHO (Transact-SQL)
Das SP_WO ist eine Helfer -Prozedur, mit der Sie Benutzerinformationen, Sitzungen und die SQL -Serverinstanzprozesse anzeigen können. Mit dieser Prozedur können Sie spezifische Informationen wie den Benutzernamen und den Spid -Wert filtern.
Die Syntax ist wie gezeigt:
sp_who [[@loginame =] 'login' | Sitzungs -ID | 'Aktiv']Das Login bezieht sich auf den Systemnamen, der einen Prozess für eine bestimmte Anmeldung identifiziert.
Die Sitzungs -ID ist der SPID -Wert für einen bestimmten Prozess, der mit dem SQL -Server verbunden ist.
Beispiel Verwendung
Die folgenden Befehle zeigen, wie die SP_WHO -Prozedur in SQL Server verwendet wird.
Zeigen Sie alle aktuellen Prozesse an
Verwenden Sie die Abfrage wie gezeigt, um alle aktuellen Prozesse anzuzeigen:
Verwenden Sie Master;Die obige Abfrage sollte die Informationen mit Spalten wie Spid, Ecid, Status, Loginame und mehr zurückgeben.
Prozess für einen bestimmten Benutzer anzeigen
Um die mit einem bestimmten Benutzer verknüpften Prozesse zu verknüpfen, können wir den Benutzernamen in der Abfrage angeben, wie im folgenden Beispiel gezeigt:
Verwenden Sie Master;Der Befehl sollte die Prozessinformationen zum festgelegten Login zurückgeben. Ein Beispielausgang ist wie gezeigt:
@@ spid
Eine andere Methode, mit der Sie die Spid eines Prozesses abrufen können. Diese Konfigurationsfunktion gibt die Sitzungs -ID des aktuellen Prozesses zurück.
Beispiel Verwendung
Das folgende Beispiel zeigt, wie die @@ spid verwendet wird, um Informationen zu einem bestimmten Prozess abzurufen.
Wählen Sie @@ spid als "id",Die Abfrage gibt den Spid, den Loginamen und den Benutzernamen zurück. Beispielausgabe ist wie gezeigt:
Aktivitätsmonitor
Sie können auch eine grafische Methode verwenden, um den Sitzungs -ID -Wert für einen bestimmten Prozess anzuzeigen. Starten Sie das MS SQL Server Management Studio und klicken Sie mit der rechten Maustaste auf die SQL Server-Instanz. Offener Aktivitätsmonitor.
Klicken Sie auf die Registerkarte Prozess, um SPID, Login, Datenbanken und weitere Informationen anzuzeigen. Die vom Aktivitätsmonitor angezeigten Informationen sind wie gezeigt:
SQL Server Kill Spid
Manchmal begegnen Sie auf eine bestimmte Instanz, die langsam läuft, andere Prozesse blockiert oder Systemressourcen verbraucht. Sie können den Prozess mit seinem Spid beenden.
Mit dem Befehl Kill Spid können Sie einen bestimmten Benutzer -Spid -Wert angeben und den Prozess beenden. Sobald Sie den Befehl anrufen, führt SQL Server einen Rollback -Prozess (rückgängige Änderungen) aus. Daher kann es einige Zeit dauern, um einen umfangreichen Prozess zu beenden.
Das Folgende zeigt die Syntax des Kill Spid -Befehls:
Kill Sitzungs -ID [mit StatusOnly] | Uow [mit StatusOnly | Commit | Rollback]Beispiel Verwendung
Übergeben Sie den Sitzungs -ID -Wert, um den Befehl Kill Spid zu verwenden (erfahren Sie, wie Sie den SPID -Wert oben erhalten).
Töte 90;Der obige Befehl sollte den angegebenen Prozess stoppen.
Um den Fortschritt der Prozessabschließung zu erzielen, können Sie das mit statysonly Argument wie gezeigte Argument verwenden:
Töte 84 mit StatusOnly;Der obige Befehl sollte den Fortschritt als:
MSG 6120, Stufe 16, Zustand 1, Zeile 1Das folgende Beispiel zeigt Ihnen, wie Sie eine laufende Datenbanksicherung mit dem Befehl Kill Spid beenden.
Backup beginnen als:
Sicherungsdatenbank [Wideworldimporters]Beenden Sie mit dem Befehl Kill Spid den Sicherungsprozess.
Abschluss
In diesem Artikel haben Sie gelernt, wie man mit SQL Server -Sitzungs -IDs arbeitet. Verschiedene Methoden zum Abrufen des SPID -Werts und zum Beenden eines Vorgangs mit dem Spid -Wert.