sys.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 SQL Server Audit (Datenbankmodul).

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen

Syntax

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

Argumente

  • file_pattern
    Gibt das Verzeichnis oder den Pfad und den Dateinamen für den zu lesenden Überwachungsdateisatz an. Typ ist nvarchar(260). 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:

    • <path>\* – Sammeln Sie alle Überwachungsdateien im angegebenen Speicherort.

    • <Pfad>\LoginsAudit_ {GUID} – Sammelt alle Überwachungsdateien, die den angegebenen Namen und ein GUID-Paar aufweisen.

    • <path>\LoginsAudit_{GUID}_00_29384.sqlaudit – Sammeln Sie 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. Typ ist nvarchar(260).

    HinweisHinweis

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

  • audit_record_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_record_offset-Argument muss gültige Einträge oder den Standardwert | NULL-Wert enthalten. Typ ist bitint.

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. NULL ist nicht zulässig.

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

varchar(4)

ID der Aktion. NULL ist nicht zulässig.

succeeded

bit

1 = Erfolg

0 = Fehler

Gibt an, ob die Aktion, die das Ereignis ausgelöst hat, erfolgreich war. NULL ist nicht zulässig. 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

varbinary(16)

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. NULL ist nicht zulässig. Gibt 0 zurück wenn permission_bitmask = 0.

session_id

smallint

ID der Sitzung, bei der das Ereignis aufgetreten ist. NULL ist nicht zulässig.

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. NULL ist nicht zulässig. Falls nicht zutreffend, wird 0 zurückgegeben.

target_database_principal_id

int

Der Datenbankprinzipal, auf dem der GRANT/DENY/REVOKE-Vorgang ausgeführt wird. NULL ist nicht zulässig. Falls nicht zutreffend, wird 0 zurückgegeben.

object_id

int

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

  • Serverobjekte

  • Datenbanken

  • Datenbankobjekte

  • Schemaobjekte

NULL ist nicht zulässig. 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

varchar(2)

Der Typ der überwachbaren Entität, bei der die Überwachung auftritt. NULL ist nicht zulässig.

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

sysname

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 folgende Elemente:

  • 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.

Eine Ebene des TSQL-Stapels wird im XML-Format für Aktionen angezeigt, denen ein TSQL-Stapel zugeordnet ist. Das XML-Format sieht folgendermaßen aus:

<tsql_stack><frame nest_level = '%u' database_name = '%.*s' schema_name = '%.*s' object_name = '%.*s' /></tsql_stack>

Frame nest_level gibt die aktuelle Schachtelungsebene des Frames an. Der Modulname (database_name, schema_name und object_name) wird in einem aus drei Teilen bestehenden Format dargestellt. Der Modulname wird analysiert, um ungültige XML-Zeichen mit Escapezeichen zu versehen, zum Beispiel <', '>', '/', '_x'. Sie werden mit _xHHHH_ als Escapezeichen versehen. HHHH steht für den vierstelligen hexadezimalen UCS 2-Code für das Zeichen

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. NULL ist nicht zulässig.

audit_file_offset

bigint

Der Pufferoffset in der Datei, die den Überwachungsdatensatz enthält. NULL ist nicht zulässig.

user_defined_event_id

smallint

Die benutzerdefinierte Ereignis-ID wurde als Argument an sp_audit_write übergeben. NULL für Systemereignisse (Standard) und ungleich 0 für ein benutzerdefiniertes Ereignis. Weitere Informationen finden Sie unter sp_audit_write (Transact-SQL).

user_defined_information

nvarchar(4000)

Wird verwendet, um zusätzliche Informationen zu erfassen, die der Benutzer mit der gespeicherten Prozedur sp_audit_write im Überwachungsprotokoll aufzeichnen möchte.

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 SQL Server Audit (Datenbankmodul).

Siehe auch

Verweis

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.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)

Konzepte

Erstellen einer Serverüberwachung und einer Serverüberwachungsspezifikation