sys.fn_trace_gettable (Transact-SQL)

適用対象: SQL サーバー

1 つ以上のトレース ファイルの内容を表形式で返します。

重要

この機能は、 SQL Serverの将来のバージョンで削除される予定です。 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。 代わりに拡張イベントを使用します。

Transact-SQL 構文表記規則

構文

  
fn_trace_gettable ( 'filename' , number_files )  

引数

'filename'
読み取る初期トレース ファイルを指定します。 filenamenvarchar(256) で、既定値はありません。

number_files
読み取るロールオーバー ファイルの数を指定します。 この番号には、 filename で指定された初期ファイルが含まれます。 number_filesintです。

解説

number_filesdefault として指定されている場合、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 AdventureWorks2022;  
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 AdventureWorks2022;  
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)