トレース定義を作成します新しいトレースは停止状態になります。
構文
sp_trace_create [ @traceid = ] trace_id OUTPUT
, [ @options = ] option_value
, [ @tracefile = ] 'trace_file'
[ , [ @maxfilesize = ] max_file_size ]
[ , [ @stoptime = ] 'stop_time' ]
引数
[ @traceid = ] trace_id
Microsoft® SQL Server™ 2000 によって新しいトレースに割り当てられる数です。ユーザー入力は無視されます。trace_id は int であり、既定値は NULL です。ユーザーは、trace_id 値を使用して、このストアド プロシージャで定義されたトレースを識別、変更、および制御します。
[ @options = ] option_value
トレースのオプション セットを指定します。option_value は int であり、既定値はありません。これらのオプションの組み合わせを選択するには、目的のオプションの合計値を指定します。たとえば、TRACE_FILE_ROLLOVER と SHUTDOWN_ON_ERROR の両方のオプションをオンにするには、option_value に 6 を指定します。
次の表は、オプションとその説明および値の一覧です。
| オプション名 | オプション値 | 説明 |
| TRACE_PRODUCE_ROWSET | 1 | トレースが行セットを生成することを指定します。 |
| TRACE_FILE_ROLLOVER | 2 | max_file_size に達すると、現在のトレース ファイルを閉じて、新しいファイルを作成することを指定します。新しいレコードはすべて新しいファイルに書き込まれます。新しいファイルの名前は以前のファイルと同じになりますが、その順番を示すために整数が追加されます。たとえば、元のトレース ファイルの名前が filename.trc である場合、次のトレース ファイルの名前は、順番に filename_1.trc、filename_2.trc などとなります。
ロールオーバー ファイルが作成されるごとに、ファイル名に追加される整数値は大きくなります。 max_file_size の値を指定せずにこのオプションを指定した場合は、max_file_size の既定値 (5 MB) が使用されます。 |
| SHUTDOWN_ON_ERROR | 4 | なんらかの理由によりトレースをファイルに書き込めない場合、SQL Server はシャットダウンします。このオプションは、セキュリティ監査トレースを実行するときに役立ちます。 |
| TRACE_PRODUCE_BLACKBOX | 8 | サーバーが生成したトレース情報の末尾の 5 MB のレコードを、サーバーが保存することを指定します。TRACE_PRODUCE_BLACKBOX は、ほかのオプションとは互換性がありません。 |
[ @tracefile = ] 'trace_file'
トレースを書き込む場所およびファイル名を指定します。race_file は nvarchar (245) であり、既定値はありません。trace_file は、ローカル ディレクトリ (N 'C:\MSSQL\Trace\trace.trc' など) または共有またはパスへの UNC (N'\\Servername\Sharename\Directory\trace.trc') のいずれかです。
すべてのトレース ファイルの名前には、.trc の拡張子が追加されます。TRACE_FILE_ROLLOVER オプションと max_file_size を指定した場合、元のトレース ファイルがその最大サイズに達したときに、新しいトレース ファイルが作成されます。新しいファイルの名前は元のファイルと同じですが、順番を示すために _n が追加されます。_n は 1 から始まります。たとえば、最初のトレース ファイルの名前が filename.trc である場合、2 番目のトレース ファイルの名前は filename_1.trc になります。
TRACE_PRODUCE_BLACKBOX オプションを使用している際に trace_file を指定することはできません。
[ @maxfilesize = ] max_file_size
トレース ファイルの最大サイズを MB 単位で指定します。max_file_size は bigint であり、既定値は 5 です。
TRACE_FILE_ROLLOVER オプションなしでこのパラメータを指定した場合、ディスクの使用領域が max_file_size で指定された値を超えると、トレースはファイルへの記録を中止します。
[ @stoptime = ] 'stop_time'
トレースを停止する日付および時刻を指定します。stop_time は datetime であり、既定値は NULL です。NULL である場合、トレースは、手動で停止するまで、またはサーバーがシャットダウンするまで実行されます。
stop_time と max_file_size の両方を指定し、かつ、TRACE_FILE_ROLLOVER を指定しない場合、トレースは、指定された停止時刻になるか、または最大ファイル サイズに達すると停止します。stop_time、max_file_size、および TRACE_FILE_ROLLOVER を指定した場合、トレースは指定された停止時刻に停止しますが、その場合トレースによってディスク領域がなくならないことが前提となります。
戻り値
次の表は、このストアド プロシージャの完了時の戻り値 (コード) の一覧です。
| リターン コード | 説明 |
| 0 | エラーはありません。 |
| 1 | 不明なエラーです。 |
| 10 | オプションが無効です。指定したオプションが一致しない場合に返されます。 |
| 12 | ファイルが作成されませんでした。 |
| 13 | メモリが足りません。指定した操作を実行するために十分なメモリがない場合に返されます。 |
| 14 | 停止時刻が無効です。指定した停止時刻が既に過ぎている場合に返されます。 |
| 15 | パラメータが無効です。ユーザーが、一致しないパラメータが指定した場合に返されます。 |
解説
sp_trace_create は Microsoft SQL Server 2000 のストアド プロシージャで、以前のバージョンの SQL Server では xp_trace_* 拡張ストアド プロシージャで実行されていた多くの操作を実行できます。sp_trace_create は、以下の拡張ストアド プロシージャの代わりに使用します。
- xp_trace_addnewqueue
- xp_trace_setqueuecreateinfo
- xp_trace_setqueuedestination
sp_trace_create は、トレース定義を作成するだけです。このストアド プロシージャを使用してトレースを開始したり変更することはできません。
すべての SQL Trace ストアド プロシージャ (sp_trace_xx) のパラメータでは、データ型が厳密に定義されています。これらのパラメータを、引数の説明で指定されている正しいデータ型で呼び出されないと、このストアド プロシージャはエラーを返します。
権限
sp_trace_create を実行できるのは、固定サーバー ロール sysadmin のメンバだけです。
例
関連項目
sp_trace_generateevent
sp_trace_setevent
sp_trace_setfilter
sp_trace_setstatus