sp_trace_generateevent (Transact-SQL)
適用対象:SQL Server
SQL Serverでユーザー定義イベントを作成します。
注意
このストアド プロシージャは非推奨 ではありません 。 他のすべてのトレース関連のストアド プロシージャの使用は非推奨とされます。
構文
sp_trace_generateevent [ @eventid = ] event_id
[ , [ @userinfo = ] 'user_info' ]
[ , [ @userdata = ] user_data ]
引数
[ @eventid = ] event_id
有効にするイベントの ID です。 event_id は int で、既定値はありません。 ID は、82 から 91 までのイベント番号のいずれかである必要があります。これは、 sp_trace_seteventで設定されたユーザー定義イベントを表します。
[ @userinfo = ] 'user_info'
イベントの理由を識別する省略可能なユーザー定義文字列です。 user_info は nvarchar(128)で、既定値は NULL です。
[ @userdata = ] user_data
イベントの省略可能なユーザー指定データです。 user_data は varbinary(8000)で、既定値は NULL です。
リターン コードの値
次の表は、このストアド プロシージャの完了時に返されるコード値を示しています。
リターン コード | 説明 |
---|---|
0 | エラーなし。 |
1 | 不明なエラー。 |
3 | 指定したイベントが無効です。 イベントが存在しないか、ストア プロシージャに適したイベントではない可能性があります。 |
13 | メモリが不足しています。 指定したアクションを実行するのに十分なメモリがない場合に返されます。 |
解説
sp_trace_generateevent は、xp_trace_ * 拡張ストアド プロシージャによって以前に実行されたアクションの多くを実行します。 xp_trace_generate_eventの代わりに sp_trace_generateevent を使用 します。
sp_trace_generateeventでは、ユーザー定義イベントの ID 番号のみを使用できます。 他のイベント ID 番号が使用されている場合、SQL Serverはエラーを発生させます。
すべての SQL トレース ストアド プロシージャ (sp_trace_xx) のパラメーターは厳密に型指定されます。 これらのパラメーターを、引数の説明で指定されている正しいデータ型で指定しないと、このストアド プロシージャではエラーが返されます。
アクセス許可
ユーザーには ALTER TRACE 権限が必要です。
例
次の例では、サンプル テーブルにユーザーが構成可能なイベントを作成します。
--Create a sample table.
CREATE TABLE user_config_test(col1 int, col2 char(10));
--DROP the trigger if it already exists.
IF EXISTS
(SELECT * FROM sysobjects WHERE name = 'userconfig_trg')
DROP TRIGGER userconfig_trg;
--Create an ON INSERT trigger on the sample table.
CREATE TRIGGER userconfig_trg
ON user_config_test FOR INSERT;
AS
EXEC master..sp_trace_generateevent
@event_class = 82, @userinfo = N'Inserted row into user_config_test';
--When an insert action happens, the user-configurable event fires. If
you were capturing the event id=82, you will see it in the Profiler output.
INSERT INTO user_config_test VALUES(1, 'abc');
関連項目
sys.fn_trace_geteventinfo (Transact-SQL)
sp_trace_setevent (Transact-SQL)
SQL トレース (SQL Trace)