SQL Server-Überwachungsdatensätze
Gilt für: SQL Server
Die Audit-Funktion von SQL Server ermöglicht Ihnen, Ereignisgruppen und Ereignisse auf Server- und Datenbankebene zu ü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 | type | 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 = Success (Erfolg), 0 = Fehler |
Ja |
permission_bitmask | Zeigt die gewährten, verweigerten oder widerrufenen Berechtigungen an (falls verfügbar) | bigint | No |
is_column_permission | Flag, das eine Berechtigung auf Spaltenebene angibt. | bit - 1 = True, 0 = False |
No |
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 | No |
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 | No |
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 | No |
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 | No |
target_server_principal_name | Zielanmeldung der Aktion. | sysname | No |
target_server_principal_sid | SID der Zielanmeldung. | varbinary | No |
target_database_principal_name | Zielbenutzer der Aktion. | sysname | No |
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 | No |
schema_name | Schemakontext, in dem die Aktion durchgeführt wurde | sysname | No |
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 | No |
Anweisung | TSQL-Anweisung (falls vorhanden) | nvarchar(4000) | No |
additional_information | Zusätzliche Informationen über das als XML gespeicherte Ereignis. | nvarchar(4000) | No |
Hinweise
Einige Aktionen geben nicht den Wert einer Spalte ein, da er auf die Aktion nicht anwendbar sein könnte.
SQL Server Audit speichert 4000 Datenzeichen 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.
SQL Server Audit schreibt als erste Zeile für den Überwachungsdatensatz die partiellen Daten. 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.
Verwandte Inhalte
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)