Event File TargetEvent File Target

イベント ファイル ターゲットは、完全なバッファーをディスクに書き込むターゲットです。The event file target is a target that writes complete buffers to disk.

次の表では、イベント ファイル ターゲットの構成に使用できるオプションについて説明します。The following table describes the available options for configuring the event file target.

オプションOption 指定できる値Allowed values 説明Description
filenamefilename 260 文字までの任意の文字列。Any string up to 260 characters. この値は必須です。This value is required. ファイルの場所とファイル名。The file location and filename.

任意のファイル名拡張子を使用できます。You can use any filename extension.
max_file_sizemax_file_size 任意の 64 ビット整数。Any 64 bit integer. この値は省略可能です。This value is optional. ファイルの最大サイズ (MB)。The maximum file size in megabytes (MB). max_file_size を指定しない場合、ファイルはディスクがいっぱいになるまで拡張されます。If max_file_size is not specified, the file will grow until the disk is full. 既定のファイル サイズは 1 GB です。The default file size is 1GB.

max_file_size は、セッション バッファーの現在のサイズを超えるサイズである必要があります。max_file_size must be larger than the current size of the session buffers. そうでないと、ファイル ターゲットの初期化が失敗し、max_file_size が無効であるとレポートされます。If it is not, the file target will fail to initialize, reporting that the max_file_size is invalid. バッファーの現在のサイズを表示するには、 sys.dm_xe_sessions 動的管理ビューで buffer_size 列に対するクエリを発行します。To view the current size of the buffers, query the buffer_size column in the sys.dm_xe_sessions dynamic management view.

既定のファイル サイズがセッション バッファー サイズ未満の場合は、max_file_size を、 sys.server_event_sessions カタログ ビューの max_memory 列に指定された値に設定することをお勧めします。If the default file size is smaller than the session buffer size, we recommend setting max_file_size to the value specified in the max_memory column in the sys.server_event_sessions catalog view.

max_file_size をセッション バッファーのサイズを超えて設定した場合、セッション バッファーのサイズの最も近い倍数に丸められたサイズが使用されます。When max_file_size is set to a size larger than the size of the session buffers, it may be rounded down to the nearest multiple of the session buffer size. その結果、max_file_size に指定した値に満たないターゲット ファイルが作成されることがあります。This may create a target file that is smaller than the specified value of max_file_size. たとえば、バッファー サイズが 100 MB のときに max_file_size を 150 MB に設定した場合、2 番目のバッファーが残りの 50 MB のスペースに収まらないため、結果のファイル サイズは 100 MB に丸められます。For example, if the buffer size is 100MB and max_file_size is set to 150MB, the resultant file size is rounded down to 100MB because a second buffer would not fit in the remaining 50MB of space.

既定のファイル サイズがセッション バッファー サイズ未満の場合は、max_file_size を、 sys.server_event_sessions カタログ ビューの max_memory 列の値に設定することをお勧めします。If the default file size is smaller than the session buffer size, we recommend setting max_file_size to the value in the max_memory column in the sys.server_event_sessions catalog view.
max_rollover_filesmax_rollover_files 任意の 32 ビット整数。Any 32 bit integer. この値は省略可能です。This value is optional. ファイル システム内に保持するファイルの最大数。The maximum number of files to retain in the file system. 既定値は 5 です。The default value is 5.
incrementincrement 任意の 32 ビット整数。Any 32 bit integer. この値は省略可能です。This value is optional. ファイルの拡張増分値 (MB)。The incremental growth, in megabytes (MB), for the file. 指定しない場合、増分の既定値はセッション バッファー サイズの 2 倍になります。If unspecified, the default value for increment is twice the session buffer size.

イベント ファイル ターゲットが初めて作成されるとき、指定したファイル名に _0_ と長整数値が付加されます。The first time that an event file target is created, the filename you specify is appended with _0_ and a long integer value. 整数値は 1601 年 1 月 1 日の間のミリ秒数として計算され、ファイルが作成された日付と時刻。The integer value is calculated as the number of milliseconds between January 1, 1601 and the date and time the file is created. 後続のロールオーバー ファイルでもこの形式が使用されます。Subsequent rollover files also use this format. 長整数値を調べることで、最新のファイルを判別できます。From examining the value of the long integer, you can determine the most current file. 次の例は、filename オプションに C:\OutputFiles\MyOutput.xel と指定した場合のファイルの名前の決定方法を示しています。The following example illustrates how files are named in a scenario where you specify the filename option as C:\OutputFiles\MyOutput.xel:

  • 最初に作成されるファイル: C:\OutputFiles\MyOutput_0_128500310259380000.xelfirst file created - C:\OutputFiles\MyOutput_0_128500310259380000.xel

  • 最初のロールオーバー ファイル : C:\OutputFiles\MyOutput_0_128505831770890000.xelfirst rollover file - C:\OutputFiles\MyOutput_0_128505831770890000.xel

  • 2 番目のロールオーバー ファイル: C:\OutputFiles\MyOutput_0_132410772966237000.xelsecond rollover file - C:\OutputFiles\MyOutput_0_132410772966237000.xel

セッションへのターゲットの追加Adding the Target to a Session

イベント ファイル ターゲットを拡張イベント セッションに追加するには、イベント セッションの作成時または変更時に次のいずれかのステートメントを含めます。 file_name を目的のファイル名とパスに置き換えてください。To add the event file target to an Extended Events session, you would include the following statements when you create or alter an event session, replacing file_name with the desired file name and path:

ADD TARGET package0.event_file(  
   SET filename='file_name.xel')  

ターゲット出力の確認Reviewing the Target Output

ターゲット ファイルからの出力を確認するには、sys.fn_xe_file_target_read_file 関数を使用する必要があります。To review the output from the file target, you must use the sys.fn_xe_file_target_read_file function. データを XML としてキャストすることをお勧めします。We recommend that you cast the data as XML. 次の構文を使用できます。 file_name を、ターゲットの追加時に指定したファイル名とパスに置き換えてください。You can use the following syntax, replacing file_name with the file name and path that you specified when you added the target:

SELECT *, CAST(event_data AS XML) AS 'event_data_XML'  
FROM sys.fn_xe_file_target_read_file('file_name*.xel', NULL, NULL, NULL)  

参照See Also

SQL Server 拡張イベント ターゲット SQL Server Extended Events Targets
sys.fn_xe_file_target_read_file (TRANSACT-SQL) sys.fn_xe_file_target_read_file (Transact-SQL)
CREATE EVENT SESSION (Transact-SQL) CREATE EVENT SESSION (Transact-SQL)
ALTER EVENT SESSION (Transact-SQL)ALTER EVENT SESSION (Transact-SQL)