fn_trace_gettable (Transact-SQL)

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

主题链接图标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 AdventureWorks2008R2;
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 AdventureWorks2008R2;
GO
SELECT IDENTITY(int, 1, 1) AS RowNumber, * INTO temp_trc
FROM fn_trace_gettable('c:\temp\mytrace.trc', default);
GO