„cmd“-Felddefinitionen sysprocesses MS SQL Server
-
29-09-2020 - |
Frage
Ich überlege, im Laufe des Tages ein Profil der Verbindungstypen und -volumina zu erstellen.
Ich verwende das sys.sysprocesses
Um die Informationen zu sammeln, die ich benötige, schaue ich mir insbesondere die an 'cmd'
Feld zur Kategorisierung von Verbindungen.Hat jemand eine gute umfassende Liste mit Definitionen für die Werte in diesem Bereich?Ich kann herausfinden, was viele von ihnen bedeuten, aber ich kann zum Beispiel für einige von ihnen online keine Definitionen finden 'XE TIMER'
Vielen Dank,
Lösung
Wie im Kommentar vorgeschlagen sys.sysprocesses ist veraltet und Microsoft empfiehlt die weitere Verwendung nicht.Es dient lediglich der Abwärtskompatibilität
Die obige Ansicht wurde ersetzt durch sys.dm_exec_requests.Du würdest sehen cmd
Spalte von sys.sysprocesses ist jetzt command
Spalte in sys.dm_exec_requests und diese Spalte sagt es Ihnen
Identifiziert den aktuellen Befehlstyp, der verarbeitet wird.Gemeinsame Befehlstypen enthalten die folgenden:
• WÄHLEN
• EINFÜGEN
• AKTUALISIEREN
• LÖSCHEN
• BACKUP-LOG
• BACKUP-DATENBANK
• DBCC
• FÜR
Der Text der Anforderung kann durch Verwendung von sys.dm_exec_sql_text mit dem entsprechenden sql_handle für die Anforderung abgerufen werden.Interne Systemprozesse setzen den Befehl basierend auf der Art der Aufgabe, die sie ausführen.Aufgaben können Folgendes umfassen:• SCHLOSSÜBERWACHUNG
• CHECKPOINTLAZY
• SCHRIFTSTELLER
Ist nicht nullbar.
Stattdessen empfehle ich Ihnen, sich auf die Kolumne zu konzentrieren sql_handle
was vorhanden ist in sys.dm_exec_requests
.Der folgende Code gibt Ihnen eine Abfrage hinter sql_handle
select er.session_id,
er.command,
t.text --gives query behind sql_handle
from sys.dm_exec_requests er
cross apply sys.dm_exec_sql_text(er.sql_handle) t