Beschreiben von Ereignissen mithilfe von Datenspalten
Die SQL-Ablaufverfolgung verwendet Datenspalten in der Ablaufverfolgungsausgabe, um Ereignisse zu beschreiben, die beim Ausführen der Ablaufverfolgung zurückgegeben werden.
Hinweis: |
---|
In SQL Server 2005 geben Nachverfolgungsspaltenwerte über 1 GB einen Fehler zurück und werden in der Nachverfolgungsausgabe abgeschnitten. |
In der folgenden Tabelle werden die Datenspalten von Microsoft SQL Server Profiler beschrieben, die mit den von der SQL-Ablaufverfolgung verwendeten Datenspalten identisch sind. Außerdem wird auf die Spalten verwiesen, die standardmäßig ausgewählt sind.
Datenspalte
Spaltennummer
Beschreibung
ApplicationName1
10
Der Name der Clientanwendung, die die Verbindung mit einer Instanz von SQL Server hergestellt hat. Diese Spalte wird mit den Werten aufgefüllt, die von der Anwendung übergeben werden, und nicht mit dem Namen des Programms.
BigintData1
52
Ein Wert (Datentyp bigint), der von der Ereignisklasse abhängt, die in der Ablaufverfolgung angegeben ist.
BigintData2
53
Ein Wert (Datentyp bigint), der von der Ereignisklasse abhängt, die in der Ablaufverfolgung angegeben ist.
Binärdaten
2
Der binäre Wert, der von der Ereignisklasse abhängt, die in der Ablaufverfolgung aufgezeichnet wird.
ClientProcessID1
9
Die ID, die der Hostcomputer dem Prozess zuweist, in dem die Clientanwendung ausgeführt wird. Diese Datenspalte wird aufgefüllt, wenn die Clientprozess-ID durch den Client bereitgestellt wird.
ColumnPermissions
44
Gibt an, ob eine Spaltenberechtigung festgelegt wurde. Sie können den Text der Anweisung analysieren, um zu bestimmen, welche Berechtigungen auf welche Spalten angewendet wurden.
CPU
18
Die CPU-Zeit (in Millisekunden), die vom Ereignis verwendet wurde.
Database ID1
3
Die ID der Datenbank, die durch die USE database_name-Anweisung angegeben wurde, oder die ID der Standarddatenbank, wenn für eine bestimmte Instanz keine USE database_name-Anweisung ausgegeben wurde. SQL Server Profiler zeigt den Namen der Datenbank an, wenn die Server Name-Datenspalte in der Ablaufverfolgung aufgezeichnet wird und der Server verfügbar ist. Der Wert für eine Datenbank kann mithilfe der DB_ID-Funktion ermittelt werden.
DatabaseName
35
Der Name der Datenbank, in der die Benutzeranweisung ausgeführt wird.
DBUserName1
40
Der SQL Server-Benutzername des Clients.
Duration
13
Die Dauer (in Millisekunden) des Ereignisses.
Hinweis:
In SQL Server 2005 meldet der Server die Dauer eines Ereignisses in Mikrosekunden (ein Millionstel oder 10-6 einer Sekunde) und den Umfang der vom Ereignis verbrauchten CPU-Zeit in Millisekunden (ein Tausendstel oder 10-3 einer Sekunde). In SQL Server 2000 hat der Server sowohl die Dauer als auch die CPU-Zeit in Millisekunden gemeldet. In SQL Server 2005 zeigt die grafische Benutzeroberfläche von SQL Server Profiler die Duration-Spalte standardmäßig in Millisekunden an. Wird jedoch eine Ablaufverfolgung entweder in einer Datei oder in einer Datenbanktabelle gespeichert, wird der Wert der Duration-Spalte in Mikrosekunden aufgezeichnet.
EndTime
15
Die Beendigungszeit des Ereignisses. Diese Spalte wird nicht für Ereignisklassen, die auf ein startendes Ereignis verweisen, wie z. B. SQL:BatchStarting oder SP:Starting, aufgefüllt.
Error
31
Die Fehlernummer eines Ereignisses. Dies ist häufig die in sysmessages gespeicherte Fehlernummer.
EventClass1
27
Der Typ der aufgezeichneten Ereignisklasse.
EventSequence
51
Die Sequenznummer für dieses Ereignis.
EventSubClass1
21
Der Typ der Ereignisunterklasse, der weitere Informationen zu jeder Ereignisklasse bereitstellt. Beispielsweise repräsentieren Ereignisunterklassenwerte für die Execution Warnings-Ereignisklasse den Typ der Ausführungswarnung:
1 = Abfrage wartet. Die Abfrage muss auf Ressourcen warten (z. B. Arbeitsspeicher), bevor sie ausgeführt werden kann.
2 = Timeout der Abfrage. Bei der Abfrage ist beim Warten auf Ressourcen, die für das Fortfahren notwendig waren, ein Timeout eingetreten. Diese Datenspalte wird nicht für alle Ereignisklassen aufgefüllt.
GUID
54
Ein GUID-Wert, der von der Ereignisklasse abhängt, die in der Ablaufverfolgung angegeben ist.
FileName
36
Der logische Name der Datei, die geändert wird.
Handle
33
Die ganze Zahl, die von ODBC, OLE DB oder DB-Library zum Koordinieren der Serverausführung verwendet wird.
HostName1
8
Der Name des Computers, auf dem der Client ausgeführt wird. Diese Datenspalte wird aufgefüllt, wenn der Hostname durch den Client bereitgestellt wird. Der Hostname kann mithilfe der HOST_NAME-Funktion ermittelt werden.
IndexID
24
Die ID für den Index des Objekts, das von dem Ereignis betroffen ist. Sie können die Index-ID für ein Objekt mithilfe der indid-Spalte der sysindexes-Systemtabelle ermitteln.
IntegerData
25
Der ganzzahlige Wert, der von der Ereignisklasse abhängt, die in der Ablaufverfolgung aufgezeichnet wird.
IntegerData2
55
Der ganzzahlige Wert, der von der Ereignisklasse abhängt, die in der Ablaufverfolgung aufgezeichnet wird.
IsSystem
60
Gibt an, ob das Ereignis bei einem Systemprozess oder einem Benutzerprozess aufgetreten ist:
1 = System
0 = Benutzer
LineNumber
5
Enthält die Nummer der Zeile mit dem Fehler. Bei Ereignissen, die Transact-SQL-Anweisungen enthalten, wie z. B. SP:StmtStarting, enthält LineNumber die in der gespeicherten Prozedur bzw. im Batch enthaltene Zeilennummer der Anweisung.
LinkedServerName
45
Der Name des Verbindungsservers.
LoginName
11
Anmeldename des Benutzers (Anmeldung der SQL Server-Sicherheit oder Windows-Anmeldeinformationen im Format DOMAIN\Username).
LoginSid1
41
Die Sicherheits-ID (SID) des angemeldeten Benutzers. Sie finden diese Informationen in der sys.server_principals-Sicht der master-Datenbank. Jede Anmeldung am Server weist eine eindeutige ID auf.
MethodName
47
Der Name der OLE DB-Methode.
Mode
32
Die ganze Zahl, die von verschiedenen Ereignissen verwendet wird, um einen Status zu beschreiben, den das Ereignis anfordert oder den es empfangen hat.
NestLevel
29
Ganze Zahl, die die von @@NESTLEVEL zurückgegebenen Daten darstellt.
NTDomainName1
7
Die Microsoft Windows-Domäne, der der Benutzer angehört.
NTUserName1
6
Der Windows-Benutzername.
ObjectID
22
Die vom System zugewiesene ID des Objekts.
ObjectID2
56
Die ID des verbundenen Objekts bzw. der verbundenen Entität, soweit verfügbar.
ObjectName
34
Der Name des Objekts, auf das verwiesen wird.
ObjectType2
28
Der Wert, der den Typ des am Ereignis beteiligten Objekts darstellt. Dieser Wert entspricht der type-Spalte in sysobjects.
Offset
61
Der Startoffset der Anweisung in der gespeicherten Prozedur oder dem Batch.
OwnerID
58
Nur für Sperrereignisse. Der Typ des Objekts, das eine Sperre aufweist.
OwnerName
37
Der Datenbank-Benutzername des Objektbesitzers.
ParentName
59
Der Name des Schemas, in dem sich dieses Objekt befindet.
Berechtigungen
19
Der ganzzahlige Wert, der den Typ der überprüften Berechtigungen darstellt. Die Werte sind:
1 = SELECT ALL
2 = UPDATE ALL
4 = REFERENCES ALL
8 = INSERT
16 = DELETE
32 = EXECUTE (nur Prozeduren)
4096 = SELECT ANY (mindestens eine Spalte)
8192 = UPDATE ANY
16384 = REFERENCES ANY
ProviderName
46
Der Name des OLE DB-Anbieters.
Reads
16
Die Anzahl der Lesevorgänge auf dem logischen Datenträger, die vom Server aufgrund dieses Ereignisses ausgeführt werden. Hierzu zählen alle Lesevorgänge aus Tabellen und Puffern während der Ausführung der Anweisung.
RequestID
49
Die ID der Anforderung, die die Anweisung enthält.
RoleName
38
Der Name der Anwendungsrolle, die aktiviert wird.
RowCounts
48
Die Anzahl der Zeilen im Batch.
ServerName1
26
Der Name der Instanz von SQL Server, für die eine Ablaufverfolgung ausgeführt wird.
SessionLoginName
64
Der Anmeldename des Benutzers, der die Sitzung geöffnet hat. Wenn Sie beispielsweise Login1 verwenden, um eine Verbindung mit SQL Server herzustellen, und eine Anweisung als Login2 ausführen, zeigt SessionLoginName den Wert Login1 an und LoginName den Wert Login2. In dieser Datenspalte werden SQL Server- und Windows-Anmeldenamen angezeigt.
Severity
20
Der Schweregrad des Ausnahmeereignisses.
SourceDatabaseID
62
Die ID der Datenbank, in der die Quelle des Objekts vorhanden ist.
SPID
12
Die Serverprozess-ID (SPID), die von SQL Server dem Prozess zugewiesen wurde, der diesem Client zugeordnet ist.
SqlHandle
63
64-Bit-Hash auf Basis des Textes einer Ad-hoc-Abfrage oder der Datenbank- und Objekt-ID eines SQL-Objekts. Dieser Wert kann an sys.dm_exec_sql_text() übergeben werden, um den zugeordneten SQL-Text abzurufen.
StartTime1
14
Der Zeitpunkt, zu dem das Ereignis begonnen hat (falls verfügbar).
State
30
Fehlerstatuscode.
Success
23
Gibt an, ob das Ereignis erfolgreich war. Mögliche Werte sind:
1 = Erfolg.
0 = Fehler
Eine 1 bedeutet z. B. eine erfolgreiche Berechtigungsüberprüfung, und 0 bedeutet einen Fehler bei dieser Überprüfung.
TargetLoginName
42
Für Aktionen, die auf einen Anmeldenamen abzielen (z. B. das Hinzufügen eines neuen Anmeldenamens), der Anmeldename, auf den abgezielt wird.
TargetLoginSid
43
Für Aktionen, die auf einen Anmeldenamen abzielen (z. B. das Hinzufügen eines neuen Anmeldenamens), die SID, auf die abgezielt wird.
TargetUserName
39
Für Aktionen, die auf einen Datenbankbenutzer abzielen (z. B. das Erteilen von Berechtigungen für einen Benutzer), der Name des Benutzers.
TextData
1
Der Textwert, der von der Ereignisklasse abhängt, die in der Ablaufverfolgung aufgezeichnet wird. Wenn Sie jedoch für eine parametrisierte Abfrage eine Ablaufverfolgung ausführen, werden in der TextData-Spalte die Variablen nicht mit Datenwerten angezeigt.
TransactionID
4
Die vom System zugewiesene ID der Transaktion.
Type
57
Der ganzzahlige Wert, der von der Ereignisklasse abhängt, die in der Ablaufverfolgung aufgezeichnet wird.
Writes
17
Die Anzahl physikalischer Schreibvorgänge auf dem Datenträger, die vom Server aufgrund des Ereignisses ausgeführt werden.
XactSequence
50
Ein Token zur Beschreibung der aktuellen Transaktion.
1 Diese Datenspalten werden standardmäßig für alle Ereignisse aufgefüllt.
2 Weitere Informationen zur ObjectType-Datenspalte finden Sie unter ObjectType (Spalte für Ablaufverfolgungsereignisse).
Siehe auch
Verweis
Ereignisklassen in SQL Server – Referenz