SQL Server-Überwachungsdatensätze

Gilt für:SQL Server

Mit dem SQL Server-Überwachungsfeature können Sie Gruppen auf Serverebene und Datenbankebene von Ereignissen und Ereignissen überwachen. Weitere Informationen finden Sie unter SQL Server Audit (Datenbank-Engine). SQL Server.

Überwachungen bestehen aus null oder mehr Überwachungsaktionselementen, die in einem Überwachungszielaufgezeichnet werden. Beim Überwachungsziel kann es sich um eine Binärdatei, das Windows-Sicherheitsereignisprotokoll oder das Windows-Anwendungsereignisprotokoll handeln. Die an das Ziel gesendeten Datensätze können die in der folgenden Tabelle beschriebenen Elemente enthalten:

Spaltenname Beschreibung Typ Immer verfügbar
event_time Datum und Uhrzeit der Auslösung des überwachbaren Vorgangs. datetime2 Ja
sequence_no Hält die Reihenfolge der Datensätze innerhalb eines einzelnen Überwachungsdatensatzes fest, der zu groß für den Schreibpuffer für Überwachungen ist. int Ja
action_id ID der Aktion

Tipp: Damit action_id als Prädikat verwendet werden kann, muss eine Konvertierung von einer Zeichenfolge in einen numerischen Wert durchgeführt werden. Weitere Informationen finden Sie unter Filtern von SQL Server Audit nach dem action_id-Prädikat oder class_type-Prädikat.
varchar(4) Ja
succeeded Gibt an, ob die Berechtigungsprüfung für die Aktion, die das Überwachungsereignis ausgelöst hat, erfolgreich war oder fehlgeschlagen ist. bit
- 1 = Erfolg,
0 = Fehler
Ja
permission_bitmask Zeigt die gewährten, verweigerten oder widerrufenen Berechtigungen an (falls verfügbar) bigint Nein
is_column_permission Flag, das eine Berechtigung auf Spaltenebene angibt. bit
- 1 = True,
0 = False
Nein
session_id Die ID der Sitzung, in der das Ereignis aufgetreten ist. int Ja
server_principal_id ID des Anmeldekontexts, in dem die Aktion ausgeführt wird. int Ja
database_principal_id ID des Datenbankbenutzerkontexts, in dem die Aktion ausgeführt wird. int Nein
object_id Die primäre ID der Entität, bei der die Überwachung aufgetreten ist. Folgende IDs sind möglich:

Serverobjekte

databases

Datenbankobjekte

Schemaobjekte
int Nein
target_server_principal_id Serverprinzipal, für den die überwachbare Aktion gilt. int Ja
target_database_principal_id Datenbankprinzipal, für den die überwachbare Aktion gilt. int Nein
class_type Typ der überwachbaren Entität, bei der die Überwachung auftritt. varchar(2) Ja
session_server_principal_name Serverprinzipal für die Sitzung. sysname Ja
server_principal_name Aktuelle Anmeldung. sysname Ja
server_principal_sid Aktuelle Anmeldungs-SID. varbinary Ja
database_principal_name Aktueller Benutzer. sysname Nein
target_server_principal_name Zielanmeldung der Aktion. sysname Nein
target_server_principal_sid SID der Zielanmeldung. varbinary Nein
target_database_principal_name Zielbenutzer der Aktion. sysname Nein
server_instance_name Der Name der Serverinstanz, in der die Überwachung aufgetreten ist. Verwendet das standardmäßige machine\instance-Format. nvarchar(120) Ja
database_name Der Datenbankkontext, in dem die Aktion aufgetreten ist. sysname Nein
schema_name Schemakontext, in dem die Aktion durchgeführt wurde sysname Nein
object_name Name der Entität, für die die Überwachung durchgeführt wurde Folgende Namen sind möglich:

Serverobjekte

databases

Datenbankobjekte

Schemaobjekte

Transact-SQL-Anweisung (falls vorhanden)
sysname Nein
statement TSQL-Anweisung (falls vorhanden) nvarchar(4000) Nein
additional_information Zusätzliche Informationen über das als XML gespeicherte Ereignis. nvarchar(4000) Nein

Hinweise

Einige Aktionen geben nicht den Wert einer Spalte ein, da er auf die Aktion nicht anwendbar sein könnte.

Die SQL Server-Überwachung speichert 4000 Zeichen mit Daten für Zeichenfelder in einem Überwachungsdatensatz. Wenn die Werte additional_information und statement , die von einer überwachbaren Aktion zurückgegeben wurden, mehr als 4000 Zeichen zurückgeben, wird die Spalte sequence_no dazu verwendet, mehrere Datensätze in einen Überwachungsbericht für eine einzelne Überwachungsaktion zu schreiben, um diese Daten aufzuzeichnen. Der Prozess sieht folgendermaßen aus:

  • Die Spalte statement wird in 4000 Zeichen geteilt.

  • DIE SQL Server-Überwachung schreibt als erste Zeile für den Überwachungsdatensatz mit den Teildaten. Alle anderen Felder werden in jeder Zeile dupliziert.

  • Der sequence_no -Wert wird inkrementiert.

  • Dieser Prozess wird wiederholt, bis alle Daten aufgezeichnet wurden.

Sie können die Daten verbinden, indem Sie die Zeilen sequenziell mit dem Wert sequence_no und den Spalten event_Time, action_id sowie session_id lesen, um die Aktion zu identifizieren.

CREATE SERVER AUDIT (Transact-SQL)

ALTER SERVER AUDIT (Transact-SQL)

DROP SERVER AUDIT (Transact-SQL)

CREATE SERVER AUDIT SPECIFICATION (Transact-SQL)

ALTER SERVER AUDIT SPECIFICATION (Transact-SQL)

DROP SERVER AUDIT SPECIFICATION (Transact-SQL)

CREATE DATABASE AUDIT SPECIFICATION (Transact-SQL)

ALTER DATABASE AUDIT SPECIFICATION (Transact-SQL)

DROP DATABASE AUDIT SPECIFICATION (Transact-SQL)

ALTER AUTHORIZATION (Transact-SQL)

sys.fn_get_audit_file (Transact-SQL)

sys.server_audits (Transact-SQL)

sys.server_file_audits (Transact-SQL)

sys.server_audit_specifications (Transact-SQL)

sys.server_audit_specification_details (Transact-SQL)

sys.database_audit_specifications (Transact-SQL)

sys.database_audit_specification_details (Transact-SQL)

sys.dm_server_audit_status (Transact-SQL)

sys.dm_audit_actions (Transact-SQL)

sys.dm_audit_class_type_map (Transact-SQL)