SQL Server Audit-DatensätzeSQL Server Audit Records

GILT FÜR: jaSQL Server neinAzure SQL-DatenbankneinAzure SQL Data Warehouse neinParallel Data WarehouseAPPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Die Funktion SQL ServerSQL Server Audit ermöglicht es, Ereignisgruppen und Ereignisse auf Serverebene und auf Datenbankebene zu überwachen.The SQL ServerSQL Server Audit feature enables you to audit server-level and database-level groups of events and events. Weitere Informationen finden Sie unter SQL Server Audit (Datenbank-Engine).For more information, see SQL Server Audit (Database Engine). SQL ServerSQL Serverinstalliert haben..

Überwachungen bestehen aus null oder mehr Überwachungsaktionselementen, die in einem Überwachungszielaufgezeichnet werden.Audits consist of zero or more audit action items, which are recorded to an audit target. Beim Überwachungsziel kann es sich um eine Binärdatei, das Windows-Sicherheitsereignisprotokoll oder das Windows-Anwendungsereignisprotokoll handeln.The audit target can be a binary file, the Windows Application event log, or the Windows Security event log. Die an das Ziel gesendeten Datensätze können die in der folgenden Tabelle beschriebenen Elemente enthalten:The records sent to the target can contain the elements described in the following table:

SpaltennameColumn name und BeschreibungDescription TypType Immer verfügbarAlways available
event_timeevent_time Datum und Uhrzeit der Auslösung des überwachbaren Vorgangs.Date/time when the auditable action is fired. datetime2datetime2 BenutzerkontensteuerungYes
sequence_nosequence_no Hält die Reihenfolge der Datensätze innerhalb eines einzelnen Überwachungsdatensatzes fest, der zu groß für den Schreibpuffer für Überwachungen ist.Tracks the sequence of records within a single audit record that was too large to fit in the write buffer for audits. intint BenutzerkontensteuerungYes
action_idaction_id ID der AktionID of the action

Tipp: Damit action_id als Prädikat verwendet werden kann, muss eine Konvertierung von einer Zeichenfolge in einen numerischen Wert durchgeführt werden.Tip: To use action_id as a predicate it must be converted from a character string to a numeric value. Weitere Informationen finden Sie unter Filtern von SQL Server Audit nach dem action_id-Prädikat oder class_type-Prädikat.For more information, see Filter SQL Server Audit on action_id / class_type predicate.
varchar(4)varchar(4) BenutzerkontensteuerungYes
succeededsucceeded Gibt an, ob die Berechtigungsprüfung für die Aktion, die das Überwachungsereignis ausgelöst hat, erfolgreich war oder fehlgeschlagen ist.Indicates whether or not the permission check of the action triggering the audit event succeeded or failed. bitbit
- 1 = Success (Erfolg),- 1 = Success,
0 = Fehler0 = Fail
BenutzerkontensteuerungYes
permission_bitmaskpermission_bitmask Zeigt, sofern anwendbar, die Berechtigungen an, die gewährt, verweigert oder widerrufen wurden.When applicable, shows the permissions that were granted, denied, or revoked bigintbigint neinNo
is_column_permissionis_column_permission Flag, das eine Berechtigung auf Spaltenebene angibt.Flag indicating a column level permission bitbit
- 1 = True,- 1 = True,
0 = False0 = False
neinNo
session_idsession_id Die ID der Sitzung, in der das Ereignis aufgetreten ist.ID of the session on which the event occurred. intint BenutzerkontensteuerungYes
server_principal_idserver_principal_id ID des Anmeldekontexts, in dem die Aktion ausgeführt wird.ID of the login context that the action is performed in. intint BenutzerkontensteuerungYes
database_principal_iddatabase_principal_id ID des Datenbankbenutzerkontexts, in dem die Aktion ausgeführt wird.ID of the database user context that the action is performed in. intint neinNo
object_idobject_ id Die primäre ID der Entität, bei der die Überwachung aufgetreten ist.The primary ID of the entity on which the audit occurred. Folgende IDs sind möglich:This ID can be:

Serverobjekteserver objects

Datenbankendatabases

Datenbankobjektedatabase objects

Schemaobjekteschema objects
intint neinNo
target_server_principal_idtarget_server_principal_id Serverprinzipal, für den die überwachbare Aktion gilt.Server principal that the auditable action applies to. intint BenutzerkontensteuerungYes
target_database_principal_idtarget_database_principal_id Datenbankprinzipal, für den die überwachbare Aktion gilt.Database principal that the auditable action applies to. intint neinNo
class_typeclass_type Typ der überwachbaren Entität, bei der die Überwachung auftritt.Type of auditable entity that the audit occurs on. varchar(2)varchar(2) BenutzerkontensteuerungYes
session_server_principal_namesession_server_principal_name Serverprinzipal für die Sitzung.Server principal for the session. sysnamesysname BenutzerkontensteuerungYes
server_principal_nameserver_principal_name Aktuelle Anmeldung.Current login. sysnamesysname BenutzerkontensteuerungYes
server_principal_sidserver_principal_sid Aktuelle Anmeldungs-SID.Current login SID. varbinaryvarbinary BenutzerkontensteuerungYes
database_principal_namedatabase_principal_name Aktueller Benutzer.Current user. sysnamesysname neinNo
target_server_principal_nametarget_server_principal_name Zielanmeldung der Aktion.Target login of the action. sysnamesysname neinNo
target_server_principal_sidtarget_server_principal_sid SID der Zielanmeldung.SID of the target login. varbinaryvarbinary neinNo
target_database_principal_nametarget_database_principal_name Zielbenutzer der Aktion.Target user of the action. sysnamesysname neinNo
server_instance_nameserver_instance_name Der Name der Serverinstanz, in der die Überwachung aufgetreten ist.Name of the server instance where the audit occurred. Verwendet das standardmäßige machine\instance-Format.Uses the standard machine\instance format. nvarchar(120)nvarchar(120) BenutzerkontensteuerungYes
database_namedatabase_name Der Datenbankkontext, in dem die Aktion aufgetreten ist.The database context in which the action occurred. sysnamesysname neinNo
schema_nameschema_name Der Schemakontext, in dem die Aktion aufgetreten ist.The schema context in which the action occurred. sysnamesysname neinNo
object_nameobject_name Der Name der Entität, bei der die Überwachung aufgetreten ist.The name of the entity on which the audit occurred. Folgende Namen sind möglich:This name can be:

Serverobjekteserver objects

Datenbankendatabases

Datenbankobjektedatabase objects

Schemaobjekteschema objects

TSQL-Anweisung (falls vorhanden)TSQL statement (if any)
sysnamesysname neinNo
statementstatement TSQL-Anweisung (falls vorhanden)TSQL statement (if any) nvarchar(4000)nvarchar(4000) neinNo
additional_informationadditional_information Zusätzliche Informationen über das als XML gespeicherte Ereignis.Any additional information about the event, stored as XML. nvarchar(4000)nvarchar(4000) neinNo

RemarksRemarks

Einige Aktionen geben nicht den Wert einer Spalte ein, da er auf die Aktion nicht anwendbar sein könnte.Some actions do not populate a column's value because it might be non-applicable to the action.

SQL ServerSQL Server Audit speichert 4000 Datenzeichen für Zeichenfelder in einem Überwachungsdatensatz.Audit stores 4000 characters of data for character fields in an audit record. 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.When the additional_information and statement values returned from an auditable action return more than 4000 characters, the sequence_no column is used to write multiple records into the audit report for a single audit action to record this data. Der Prozess sieht folgendermaßen aus:The process is as follows:

  • Die Spalte statement wird in 4000 Zeichen geteilt.The statement column is divided into 4000 characters.

  • SQL ServerSQL Server Audit schreibt als erste Zeile für den Überwachungsdatensatz die partiellen Daten.Audit writes as the first row for the audit record with the partial data. Alle anderen Felder werden in jeder Zeile dupliziert.All the other fields are duplicated in each row.

  • Der sequence_no -Wert wird inkrementiert.The sequence_no value is incremented.

  • Dieser Prozess wird wiederholt, bis alle Daten aufgezeichnet wurden.This process is repeated until all the data is recorded.

    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.You can connect the data by reading the rows sequentially using the sequence_no value, and the event_Time, action_id and session_id columns to identify the action.

CREATE SERVER AUDIT (Transact-SQL)CREATE SERVER AUDIT (Transact-SQL)

ALTER SERVER AUDIT (Transact-SQL)ALTER SERVER AUDIT (Transact-SQL)

DROP SERVER AUDIT (Transact-SQL)DROP SERVER AUDIT (Transact-SQL)

CREATE SERVER AUDIT SPECIFICATION (Transact-SQL)CREATE SERVER AUDIT SPECIFICATION (Transact-SQL)

ALTER SERVER AUDIT SPECIFICATION (Transact-SQL)ALTER SERVER AUDIT SPECIFICATION (Transact-SQL)

DROP SERVER AUDIT SPECIFICATION (Transact-SQL)DROP SERVER AUDIT SPECIFICATION (Transact-SQL)

CREATE DATABASE AUDIT SPECIFICATION (Transact-SQL)CREATE DATABASE AUDIT SPECIFICATION (Transact-SQL)

ALTER DATABASE AUDIT SPECIFICATION (Transact-SQL)ALTER DATABASE AUDIT SPECIFICATION (Transact-SQL)

DROP DATABASE AUDIT SPECIFICATION (Transact-SQL)DROP DATABASE AUDIT SPECIFICATION (Transact-SQL)

ALTER AUTHORIZATION (Transact-SQL)ALTER AUTHORIZATION (Transact-SQL)

sys.fn_get_audit_file (Transact-SQL)sys.fn_get_audit_file (Transact-SQL)

sys.server_audits (Transact-SQL)sys.server_audits (Transact-SQL)

sys.server_file_audits (Transact-SQL)sys.server_file_audits (Transact-SQL)

sys.server_audit_specifications (Transact-SQL)sys.server_audit_specifications (Transact-SQL)

sys.server_audit_specification_details (Transact-SQL)sys.server_audit_specification_details (Transact-SQL)

sys.database_audit_specifications (Transact-SQL)sys.database_audit_specifications (Transact-SQL)

sys.database_audit_specification_details (Transact-SQL)sys.database_audit_specification_details (Transact-SQL)

sys.dm_server_audit_status (Transact-SQL)sys.dm_server_audit_status (Transact-SQL)

sys.dm_audit_actions (Transact-SQL)sys.dm_audit_actions (Transact-SQL)

sys.dm_audit_class_type_map (Transact-SQL)sys.dm_audit_class_type_map (Transact-SQL)