sys.fn_xe_file_target_read_file (Transact-SQL)

Gilt für:yes SQL Server (alle unterstützten Versionen) YesAzure SQL-Datenbank

Liest Dateien, die vom asynchronen Dateiziel der erweiterten Ereignisse erstellt werden. Pro Zeile wird ein Ereignis im XML-Format zurückgegeben.

Warnung

SQL Server 2008 und SQL Server 2008 R2 akzeptieren Ablaufverfolgungsergebnisse, die im XEL- und XEM-Format generiert wurden. SQL Server 2012 (11.x) Erweiterte Ereignisse unterstützen nur Ablaufverfolgungsergebnisse im XEL-Format. Verwenden Sie SQL Server Management Studio, um Ablaufverfolgungsergebnisse im XEL-Format lesen zu können.

Topic link iconTransact-SQL-Syntaxkonventionen

Syntax

  
sys.fn_xe_file_target_read_file ( path, mdpath, initial_file_name, initial_offset )  

Argumente

path
Der Pfad zu den zu lesenden Dateien. path kann Platzhalter und den Namen einer Datei enthalten. path ist nvarchar(260). Es ist kein Standardwert vorhanden. Im Kontext Azure SQL-Datenbank ist dieser Wert eine HTTP-URL zu einer Datei in Azure Storage.

mdpath
Der Pfad zur Metadatendatei, die der durch das path-Argument angegebenen Datei entspricht. mdpath ist vom Typ nvarchar(260). Es ist kein Standardwert vorhanden. Ab SQL Server 2016 kann dieser Parameter als NULL angegeben werden.

Hinweis

SQL Server 2012 (11.x) erfordert nicht den mdpath-Parameter. Er wird jedoch beibehalten, um die Abwärtskompatibilität für in früheren Versionen von SQL Server erstellte Protokolldateien aufrechtzuerhalten.

initial_file_name
Die erste Datei, die aus dem Pfad gelesen werden soll. initial_file_name ist vom Typ nvarchar(260). Es ist kein Standardwert vorhanden. Wenn NULL als Argument angegeben wird, werden alle dateien im Pfad gelesen.

Hinweis

initial_file_name und initial_offset sind gekoppelte Argumente. Wenn Sie einen Wert für eines der beiden Argumente angeben, müssen Sie auch einen Wert für das andere Argument angeben.

initial_offset
Wird verwendet, um den letzten zuvor gelesenen Offset anzugeben und überspringt alle Ereignisse bis (einschließlich) des Offsets. Die Ereignisenumeration startet nach dem angegebenen Offset. initial_offset ist bigint. Wenn NULL als Argument angegeben wird, wird die gesamte Datei gelesen.

Zurückgegebene Tabelle

Spaltenname Datentyp BESCHREIBUNG
module_guid uniqueidentifier Die Ereignismodul-GUID. Lässt keine NULL-Werte zu.
package_guid uniqueidentifier Die Ereignispaket-GUID. Lässt keine NULL-Werte zu.
object_name nvarchar(256) Der Name des Ereignisses. Lässt keine NULL-Werte zu.
event_data nvarchar(max) Der Ereignisinhalt im XML-Format. Lässt keine NULL-Werte zu.
file_name nvarchar(260) Der Name der Datei, die das Ereignis enthält. Lässt keine NULL-Werte zu.
file_offset bigint Der Offset des Blocks in der Datei, der das Ereignis enthält. Lässt keine NULL-Werte zu.
timestamp_utc datetime2 Gilt für: SQL Server 2017 (14.x) und höher und Azure SQL-Datenbank.

Das Datum und die Uhrzeit (UTC-Zeitzone) des Ereignisses. Lässt keine NULL-Werte zu.

Bemerkungen

Das Lesen großer Resultsets durch Ausführen von sys.fn_xe_file_target_read_file in Management Studio kann zu einem Fehler führen. Verwenden Sie den Modus Ergebnisse in Datei (STRG+UMSCHALT+F), um große Resultsets in eine Datei zu exportieren und die Datei stattdessen mit einem anderen Tool zu lesen.

Berechtigungen

Erfordert die VIEW SERVER STATE-Berechtigung auf dem Server.

Beispiele

A. Abrufen von Daten aus Dateizielen

Im folgenden Beispiel werden alle Zeilen aus allen Dateien abgerufen. In dieser Beispieldatei befinden sich die Dateiziele und Metadateien im Ablaufverfolgungsordner auf dem Laufwerk C:\.

SELECT * FROM sys.fn_xe_file_target_read_file('C:\traces\*.xel', 'C:\traces\metafile.xem', null, null);  

Weitere Informationen

Dynamische Verwaltungssichten für erweiterte Ereignisse
Katalogsichten für erweiterte Ereignisse (Transact-SQL)
Erweiterte Ereignisse