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.
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.
Hinweis 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.Hinweis 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.Hinweis 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:
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:
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