fn_get_audit_file (Transact-SQL)

Gibt Informationen von einer Überwachungsdatei zurück, die von einer Serverüberwachung erstellt wurde. Weitere Informationen finden Sie unter Grundlegendes zu SQL Server Audit.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

fn_get_audit_file ( file_pattern, {default | initial_file_name | NULL }, {default | audit_file_offset | NULL } )

Argumente

  • file_pattern
    Gibt das Verzeichnis oder den Pfad und den Dateinamen für den zu lesenden Überwachungsdateisatz an. Dieses Argument muss sowohl einen Pfad (Laufwerksbuchstabe oder Netzwerkfreigabe) als auch einen Dateinamen umfassen. Diese können ein Platzhalterzeichen enthalten. Mit einem einzelnen Sternchen (*) können mehrere Dateien von einem Überwachungsdateisatz gesammelt werden. Beispiel:

    • <Pfad>\* – Sammelt alle Überwachungsdateien am angegebenen Speicherort.

    • <Pfad>\LoginsAudit_{GUID} – Sammelt alle Überwachungsdateien, die die angegebene Kombination aus Name und GUID aufweisen.

    • <Pfad>\LoginsAudit_{GUID}_00_29384.sqlaudit – Sammelt eine bestimmte Überwachungsdatei.

    HinweisHinweis

    Einen Pfad ohne ein Dateinamenmuster zu übergeben generiert einen Fehler.

  • initial_file_name
    Gibt den Pfad und den Namen einer bestimmten Datei im Überwachungsdateisatz an, von der an die Überwachungsdatensätze gelesen werden sollen.

    HinweisHinweis

    Das initial_file_name-Argument muss gültige Einträge oder den Standardwert | NULL enthalten.

  • audit_file_offset
    Gibt einen bekannten Speicherort mit der für initial_file_name angegebenen Datei an. Wenn dieses Argument verwendet wird, beginnt die Funktion mit dem Lesen beim ersten Datensatz des Puffers, der direkt nach dem festgelegten Offset folgt.

    HinweisHinweis

    Das audit_file_offset-Argument muss gültige Einträge oder den Standardwert | NULL enthalten.

Zurückgegebene Tabellen

In der folgenden Tabelle wird der Inhalt der Überwachungsdatei beschrieben, die von dieser Funktion zurückgegeben werden kann.

Spaltenname

Typ

Beschreibung

event_time

datetime2

Datum und Uhrzeit der Auslösung des überwachbaren Vorgangs. Lässt keine NULL-Werte zu.

sequence_number

int

Hält die Reihenfolge der Datensätze innerhalb eines einzelnen Überwachungsdatensatzes fest, der zu groß für den Schreibpuffer für Überwachungen ist. Lässt keine NULL-Werte zu.

action_id

char(4)

ID der Aktion. Lässt keine NULL-Werte zu.

succeeded

bit

1 = Erfolg

0 = Fehler

Gibt an, ob die Aktion, die das Ereignis ausgelöst hat, erfolgreich war. Lässt keine NULL-Werte zu. Für alle Ereignisse außer Anmeldeereignisse meldet dies nur, ob die Berechtigungsüberprüfung erfolgreich war oder fehlgeschlagen ist, nicht der Vorgang.

permission_bitmask

bigint

In einigen Aktionen sind dies die Berechtigungen, die gewährt, verweigert oder widerrufen wurden.

is_column_permission

bit

1 = TRUE

0 = FALSE

Flag, das angibt, ob dies eine Berechtigung auf Spaltenebene ist. Lässt keine NULL-Werte zu. Gibt 0 zurück wenn permission_bitmask = 0.

session_id

int

ID der Sitzung, bei der das Ereignis aufgetreten ist. Lässt keine NULL-Werte zu.

server_principal_id

int

ID des Anmeldekontexts, in dem die Aktion ausgeführt wird. Lässt keine NULL-Werte zu.

database_principal_id

int

ID des Datenbankbenutzerkontexts, in dem die Aktion ausgeführt wird. Lässt keine NULL-Werte zu. Wenn dies nicht anwendbar ist, wird 0 zurückgegeben. Zum Beispiel bei einem Servervorgang.

target_server_principal_id

int

Serverprinzipal, auf dem der GRANT/DENY/REVOKE-Vorgang ausgeführt wird. Lässt keine NULL-Werte zu. Falls nicht zutreffend, wird 0 zurückgegeben.

target_database_principal_id

int

Der Datenbankprinzipal, auf dem der GRANT/DENY/REVOKE-Vorgang ausgeführt wird. Lässt keine NULL-Werte zu. Falls nicht zutreffend, wird 0 zurückgegeben.

object_id

int

Die ID der Entität, bei der die Überwachung aufgetreten ist. Dazu gehören:

  • Serverobjekte

  • Datenbanken

  • Datenbankobjekte

  • Schemaobjekte

Lässt keine NULL-Werte zu. Gibt 0 zurück, wenn die Entität der Server selbst ist oder die Überwachung nicht auf Objektebene durchgeführt wird. Zum Beispiel bei der Authentifizierung.

class_type

char(2)

Der Typ der überwachbaren Entität, bei der die Überwachung auftritt. Lässt keine NULL-Werte zu.

session_server_principal_name

sysname

Serverprinzipal für die Sitzung. Lässt NULL-Werte zu.

server_principal_name

sysname

Aktuelle Anmeldung. Lässt NULL-Werte zu.

server_principal_sid

varbinary

Aktuelle Anmeldungs-SID. Lässt NULL-Werte zu.

database_principal_name

sysname

Aktueller Benutzer. Lässt NULL-Werte zu. Gibt NULL zurück, wenn nicht verfügbar.

target_server_principal_name

sysname

Zielanmeldung der Aktion. Lässt NULL-Werte zu. Falls nicht zutreffend, wird NULL zurückgegeben.

target_server_principal_sid

varbinary

SID der Zielanmeldung. Lässt NULL-Werte zu. Falls nicht zutreffend, wird NULL zurückgegeben.

target_database_principal_name

sysname

Zielbenutzer der Aktion. Lässt NULL-Werte zu. Falls nicht zutreffend, wird NULL zurückgegeben.

server_instance_name

nvarchar(120)

Der Name der Serverinstanz, in der die Überwachung aufgetreten ist. Das Standardformat Server\Instanz wird verwendet.

database_name

sysname

Der Datenbankkontext, in dem die Aktion aufgetreten ist. Lässt NULL-Werte zu. Gibt NULL für Überwachungen zurück, die auf Serverebene auftreten.

schema_name

sysname

Der Schemakontext, in dem die Aktion aufgetreten ist. Lässt NULL-Werte zu. Gibt NULL für Überwachungen zurück, die außerhalb eines Schemas auftreten.

object_name

sysname

Der Name der Entität, bei der die Überwachung aufgetreten ist. Dazu gehören:

  • Serverobjekte

  • Datenbanken

  • Datenbankobjekte

  • Schemaobjekte

Lässt NULL-Werte zu. Gibt NULL zurück, wenn die Entität der Server selbst ist oder die Überwachung nicht auf Objektebene durchgeführt wird. Zum Beispiel bei der Authentifizierung.

statement

nvarchar(4000)

TSQL-Anweisung, falls vorhanden. Lässt NULL-Werte zu. Falls nicht zutreffend, wird NULL zurückgegeben.

additional_information

nvarchar(4000)

Eindeutige Informationen, die nur für ein einzelnes Ereignis gelten, werden als XML zurückgegeben. Eine kleine Anzahl überwachbarer Aktionen enthält diese Art von Informationen.

Lässt NULL-Werte zu. Gibt NULL zurück, wenn keine zusätzlichen vom Ereignis gemeldeten Informationen vorliegen.

file_name

varchar(260)

Der Pfad und der Name der Überwachungsprotokolldatei, aus der der Datensatz stammt. Lässt keine NULL-Werte zu.

audit_file_offset

bigint

Der Pufferoffset in der Datei, die den Überwachungsdatensatz enthält. Lässt keine NULL-Werte zu.

Hinweise

Wenn das an fn_get_audit_file übergebene file_pattern-Argument auf einen nicht vorhandenen Pfad oder eine nicht vorhandene Datei verweist oder die Datei keine Überwachungsdatei ist, wird die Fehlermeldung MSG_INVALID_AUDIT_FILE zurückgegeben.

Berechtigungen

Erfordert die CONTROL SERVER-Berechtigung.

Beispiele:

Dieses Beispiel liest aus einer Datei namens \\serverName\Audit\HIPPA_AUDIT.sqlaudit.

SELECT * FROM sys.fn_get_audit_file ('\\serverName\Audit\HIPPA_AUDIT.sqlaudit',default,default);
GO

Ein vollständiges Beispiel für das Erstellen einer Überwachung finden Sie unter Grundlegendes zu SQL Server Audit.

Siehe auch

Verweis

Konzepte