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).
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.
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. Typ ist nvarchar(260).Hinweis 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.Hinweis 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:
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:
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