在SQL Server中,如何将多个.trc文件移动/导入到跟踪表

fra*_*lic 19 sql-server trace sql-server-2005 sql-server-profiler

我有一组用Sql Profiler记录的翻转.trc文件.

mytrace.trc

mytrace_1.trc

mytrace_2.trc

mytrace_3.trc
Run Code Online (Sandbox Code Playgroud)

我可以使用此命令导入第一个:

use [my-database]
SELECT * INTO trace_folder
FROM::fn_trace_gettable('C:\mytrace.trc', 4)
Run Code Online (Sandbox Code Playgroud)

但是,这只会加载第一个文件,而不是全部四个.

Pau*_* pk 28

你想要使用fn_trace_gettable:

来自http://msdn.microsoft.com/en-us/library/ms188425.aspx:

USE AdventureWorks;
GO
SELECT * INTO temp_trc
FROM fn_trace_gettable('c:\temp\mytrace.trc', default);
GO
Run Code Online (Sandbox Code Playgroud)

此外,文档中的警告:

要知道,在原始跟踪文件名以下划线和数值结束fn_trace_gettable函数将不会加载翻转文件(当使用NUMBER_FILES参数指定此选项).(这不适用于文件翻转时自动附加的下划线和数字.)作为解决方法,您可以重命名跟踪文件以删除原始文件名中的下划线.例如,如果原始文件名为Trace_Oct_5.trc且翻转文件名为Trace_Oct_5_1.trc,则可以将文件重命名为TraceOct5.trc和TraceOct5_1.trc.

  • 传递"default"作为第二个参数应该按顺序加载所有跟踪文件,除非初始跟踪文件名以下划线和数字结尾(在您的示例中,它不是).不知道为什么你没有把它们全部装满.它们都在同一个文件夹中吗? (4认同)