web-dev-qa-db-ja.com

SQL Serverで、複数の.trcファイルをトレーステーブルに移動/インポートする方法

SQLプロファイラーで記録されたロールオーバー.trcファイルのセットがあります。

mytrace.trc

mytrace_1.trc

mytrace_2.trc

mytrace_3.trc

このコマンドを使用して最初のものをインポートできます:

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

ただし、これは最初のファイルをロードするように見えるだけで、4つすべてをロードするわけではありません。

19
frankadelic

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

また、ドキュメントからの警告:

Fn_trace_gettable関数は、元のトレースファイル名がアンダースコアと数値で終わるロールオーバーファイル(このオプションがnumber_files引数を使用して指定されている場合)をロードしないことに注意してください。 (これは、ファイルがロールオーバーしたときに自動的に追加されるアンダースコアと番号には適用されません。)回避策として、トレースファイルの名前を変更して、元のファイル名のアンダースコアを削除できます。たとえば、元のファイルの名前がTrace_Oct_5.trcで、ロールオーバーファイルの名前がTrace_Oct_5_1.trcの場合、ファイルの名前をTraceOct5.trcおよびTraceOct5_1.trcに変更できます。

28

SQL 2008BOLからms-help://MS.SQLCC.v10/MS.SQLSVR.v10.en/s10de_6tsql/html/c2590159-6ec5-4510-81ab-e935cc4216cd.htm

Fn_trace_gettable関数は、元のトレースファイル名がアンダースコアと数値で終わるロールオーバーファイル(このオプションがnumber_files引数を使用して指定されている場合)をロードしないことに注意してください。 (これは、ファイルがロールオーバーしたときに自動的に追加されるアンダースコアと番号には適用されません。)回避策として、トレースファイルの名前を変更して、元のファイル名のアンダースコアを削除できます。たとえば、元のファイルの名前がTrace_Oct_5.trcで、ロールオーバーファイルの名前がTrace_Oct_5_1.trcの場合、ファイルの名前をTraceOct5.trcおよびTraceOct5_1.trcに変更できます。

これが私が抱えていた問題でした。サーバーサイドトレースの名前は_Purpose.trc。ファイル名に ""を埋め込んだときに何を考えていたのか:)

1
Ray