sys.fn_trace_gettable (Transact-SQL)

以表格形式返回一个或多个跟踪文件的内容。

重要说明重要提示

后续版本的 Microsoft SQL Server 将删除该功能。请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。请改用扩展事件。

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

语法

fn_trace_gettable ( 'filename' , number_files )

参数

  • 'filename'
    指定要读取的初始跟踪文件。 filename 的数据类型为 nvarchar(256),无默认值。

  • number_files
    指定要读取的滚动更新文件数。 此数包括 filename 中指定的初始文件。 number_files 的数据类型为 int。

注释

如果 number_files 指定为 default,fn_trace_gettable 将读取所有滚动更新文件,直至到达跟踪结尾为止。 fn_trace_gettable 将返回一个表,其中包含指定跟踪的所有有效列。 有关详细信息,请参阅 sp_trace_setevent (Transact-SQL)

请注意,fn_trace_gettable 函数不会加载原始跟踪文件名以下划线和数值结尾的滚动更新文件(在使用 number_files 参数指定此选项时)。 (这不适用于在文件滚动更新时自动追加的下划线和数字。)作为一种解决方法,您可以重命名这些跟踪文件以便删除原始文件名中的下划线。 例如,如果原始文件名为 Trace_Oct_5.trc,滚动更新文件名为 Trace_Oct_5_1.trc,则您可以将这两个文件重命名为 TraceOct5.trc 和 TraceOct5_1.trc。

该函数可以读取在执行该函数所在实例中仍处于活动状态的跟踪。

权限

要求对服务器具有 ALTER TRACE 权限。

示例

A.使用 fn_trace_gettable 从跟踪文件导入行

下面的示例在 SELECT...INTO 语句的 FROM 子句内部调用 fn_trace_gettable。

USE AdventureWorks2012;
GO
SELECT * INTO temp_trc
FROM fn_trace_gettable('c:\temp\mytrace.trc', default);
GO

B.使用 fn_trace_gettable 返回一个表,其中具有可以加载到 SQL Server 表中的 IDENTITY 列

以下示例在 SELECT...INTO 语句中调用该函数,并返回一个表,其中具有可加载到表 temp_trc 中的 IDENTITY 列。

USE AdventureWorks2012;
GO
SELECT IDENTITY(int, 1, 1) AS RowNumber, * INTO temp_trc
FROM fn_trace_gettable('c:\temp\mytrace.trc', default);
GO

请参阅

参考

sp_trace_generateevent (Transact-SQL)

sp_trace_setevent (Transact-SQL)

sp_trace_setfilter (Transact-SQL)

sp_trace_setstatus (Transact-SQL)