sys.fn_xe_file_target_read_file (Transact-SQL)

Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance

Lee los archivos creados por el destino de archivo asincrónico de eventos extendidos. Se devuelve un evento, en formato XML, por cada fila.

El destino De eventos extendidos event_file almacena los datos que recibe en un formato binario que no es legible por el usuario. Lea el contenido del .xel archivo con la sys.fn_xe_file_target_read_file función . Estos archivos también se pueden leer desde Management Studio. Para ver un tutorial, consulte Inicio rápido: Eventos extendidos.

Convenciones de sintaxis de Transact-SQL

Sintaxis

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

Argumentos

path

Ruta de acceso a los archivos que se van a leer. path puede contener caracteres comodín e incluir el nombre de un archivo. path es nvarchar(260) sin valor predeterminado. En el contexto de Azure SQL Database, este valor es una dirección URL HTTP a un archivo de Azure Storage.

mdpath

Ruta de acceso al archivo de metadatos que corresponde al archivo o los archivos especificados por el argumento path . mdpath es nvarchar(260) sin valor predeterminado.

En SQL Server 2012 (11.x) y versiones posteriores, no necesita este parámetro. Se ha conservado por compatibilidad con versiones anteriores, para los archivos de registro generados en versiones anteriores de SQL Server. En SQL Server 2016 (13.x) y versiones posteriores, este parámetro se puede dar como NULL, ya .xem que los archivos ya no se usan.

initial_file_name

Primer archivo que se va a leer de la ruta de acceso. initial_file_name es nvarchar(260) sin valor predeterminado. Si NULL se especifica como argumento, se leen todos los archivos que se encuentran en la ruta de acceso .

Nota:

initial_file_name y initial_offset son argumentos emparejados. Si especifica un valor para cualquiera de los argumentos, debe especificar un valor para el otro argumento.

initial_offset

Se usa para especificar el último desplazamiento leído previamente y omite todos los eventos hasta el desplazamiento (incluido). La enumeración de eventos comienza después del desplazamiento especificado. initial_offset es bigint. Si NULL se especifica como argumento, se lee todo el archivo.

Tabla devuelta

Nombre de la columna Tipo de datos Descripción
module_guid uniqueidentifier GUID del módulo de eventos. No acepta valores NULL.
package_guid uniqueidentifier GUID del paquete de eventos. No acepta valores NULL.
object_name nvarchar(256) El nombre del evento. No acepta valores NULL.
event_data nvarchar(max) Contenido del evento, en formato XML. No acepta valores NULL.
file_name nvarchar(260) Nombre del archivo que contiene el evento. No acepta valores NULL.
file_offset bigint Desplazamiento del bloque en el archivo que contiene el evento. No acepta valores NULL.
timestamp_utc datetime2(7) Fecha y hora (zona horaria UTC) del evento. No acepta valores NULL.

Se aplica a: SQL Server 2017 (14.x) y versiones posteriores, y Azure SQL Database.

Comentarios

La lectura de grandes conjuntos de resultados mediante la sys.fn_xe_file_target_read_file ejecución en Management Studio podría producir un error. Use el modo Resultados al archivo (en SQL Server Management Studio, Ctrl+Mayús+F) para exportar grandes conjuntos de resultados a un archivo legible para leer el archivo con otra herramienta en su lugar.

SQL Server 2008 (10.0.x) y SQL Server 2008 R2 (10.50.x) aceptan los resultados de seguimiento generados en formato XEL y XEM. Eventos extendidos de SQL Server 2012 (11.x) solo admiten resultados de seguimiento en formato XEL. Se recomienda usar Management Studio para leer los resultados del seguimiento en formato XEL.

SQL de Azure

En Azure SQL Instancia administrada o Azure SQL Database, almacene .xel archivos en Azure Blob Storage. Puede usar sys.fn_xe_file_target_read_file para leer las sesiones de eventos extendidas que cree y almacene en Azure Blob Storage. Por ejemplo, consulte Creación de una sesión de eventos con un destino de event_file en Azure Storage.

Si especifica caracteres comodín o una ruta de acceso para un sistema de archivos local, recibirá un mensaje de error similar al siguiente:

Msg 40538, Level 16, State 3, Line 15
A valid URL beginning with 'https://' is required as value for any filepath specified.

Permisos

En SQL Server 2019 (15.x) y versiones anteriores, requiere VIEW SERVER STATE permiso en el servidor.

En SQL Server 2022 (16.x) y versiones posteriores, requiere VIEW SERVER PERFORMANCE STATE permiso en el servidor.

Ejemplos

A Recuperación de datos de destinos de archivos

Para SQL Server 2014 (12.x) y versiones anteriores, en el ejemplo siguiente se obtienen todas las filas de todos los archivos, incluido el .xel archivo y .xem . En este ejemplo, los destinos de archivo y los metarchivos se encuentran en la carpeta de seguimiento de la C:\traces\ carpeta .

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

En SQL Server 2016 (13.x) y versiones posteriores, en el ejemplo siguiente se recuperan eventos dentro de todos los .xel archivos de la carpeta predeterminada. La ubicación predeterminada está \MSSQL\Log dentro de la carpeta de instalación de la instancia.

SELECT *
FROM sys.fn_xe_file_target_read_file('*.xel', NULL, NULL, NULL);

En SQL Server 2017 (14.x) y versiones posteriores, en el ejemplo siguiente solo se recuperan los datos del último día, de la sesión de system_health integrada. La sesión system_health es una sesión de Eventos extendidos que se incluye de forma predeterminada con SQL Server. Para obtener más información, consulta Usar la sesión system_health.

SELECT *
FROM sys.fn_xe_file_target_read_file('system_health*.xel', NULL, NULL, NULL)
WHERE CAST(timestamp_utc AS DATETIME2(7)) > DATEADD(DAY, -1, GETUTCDATE());