次の方法で共有


sys.fn_trace_gettable (Transact-SQL)

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

重要

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

適用対象: SQL Server (SQL Server 2008 から現在のバージョンまで)

トピック リンク アイコン 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)