sys.fn_xe_file_target_read_file (Transact-SQL)

适用于: 是SQL Server(所有支持的版本) 是Azure SQL 数据库

读取扩展事件异步文件目标创建的文件。 每行返回一个 XML 格式的事件。

警告

SQL Server 2008SQL Server 2008 R2接受 .xel 和 .xem 格式生成的跟踪结果。 SQL Server 2012 (11.x) 扩展事件仅支持 .XEL 格式的跟踪结果。 我们推荐您使用 SQL Server Management Studio 来读取 XEL 格式的跟踪结果。

主题链接图标 Transact-SQL 语法约定

语法

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

参数

路径
要读取的文件的路径。 路径 可以包含通配符,并包含文件的名称。 路径nvarchar (260)。 没有默认值。 在 Azure SQL 数据库的上下文中,此值是指向 Azure 存储中的文件的 HTTP URL。

mdpath
path 参数所指定的文件相对应的元数据文件的路径。 mdpathnvarchar (260)。 没有默认值。 从 SQL Server 2016 开始,可以将此参数指定为 null。

备注

SQL Server 2012 (11.x) 不需要 mdpath 参数。 但是,为了在以前的 SQL Server 版本中生成的日志文件的向后兼容性,需要维护该参数。

initial_file_name
要从 路径 中读取的第一个文件。 initial_file_name (260) 为 nvarchar。 没有默认值。 如果指定 null 作为参数,则读取 路径 中找到的所有文件。

备注

initial_file_nameinitial_offset 均为成对参数。 如果为其中一个参数指定值,则必须为另一个参数也指定值。

initial_offset
用于指定之前读取的上一个偏移量并跳过该偏移量之前的所有事件(包括该偏移量处的事件)。 事件枚举在指定偏移量后开始。 initial_offsetbigint。 如果指定 null 作为参数,将读取整个文件。

返回的表

列名称 数据类型 说明
module_guid uniqueidentifier 事件模块 GUID。 不可为 null。
package_guid uniqueidentifier 事件包 GUID。 不可为 null。
object_name nvarchar(256) 事件的名称。 不可为 null。
event_data nvarchar(max) XML 格式的事件内容。 不可为 null。
file_name nvarchar(260) 包含事件的文件的名称。 不可为 null。
file_offset bigint 包含事件的块在文件中的偏移位置。 不可为 null。
timestamp_utc datetime2 适用于:SQL Server 2017 (14.x) 及更高版本和 Azure SQL 数据库。

事件 (UTC 时区的日期和时间) 。 不可为 null。

注解

通过在中执行 sys.fn_xe_file_target_read_file 读取大型结果集 Management Studio 可能会导致错误。 使用 " 结果显示文件 模式" (Ctrl + Shift + F) 将大型结果集导出到文件中,并改为使用其他工具读取文件。

权限

要求具有服务器的 VIEW SERVER STATE 权限。

示例

A. 从文件目标检索数据

下面的示例从所有文件获取所有行。 在此示例中,文件目标和图元文件位于 C:\ 驱动器上的跟踪文件夹中。

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

另请参阅

扩展事件动态管理视图
扩展事件目录视图 (Transact-SQL)
扩展事件