印刷用ページ       送信     
クリックして評価とフィードバックをお寄せください
MSDN
MSDN ライブラリ
SQL Server
Microsoft SQL Server 2000
SDK ドキュメント
Transact-SQL リファレンス
 sp_trace_setevent

  低帯域幅での表示をオンにする
Transact-SQL リファレンス
sp_trace_setevent

トレースに対して、イベントまたはイベント列の追加または削除を行います。sp_trace_setevent は、停止している (status が 0) 既存のトレースに対してのみ実行できます。存在しないトレース、または status が 0 以外のトレースに対してこのプロシージャを実行すると、Microsoft® SQL Server™ 2000 ではエラーが返されます。

構文

[ @traceid = ] trace_id
    , [ @eventid = ] event_id
    , [ @columnid = ] column_id
    
, [ @on = ] on

引数

[ @traceid = ] trace_id

変更するトレースの ID です。trace_idint であり、既定値はありません。ユーザーは、この trace_id 値を使用してトレースの識別、変更、および制御を行います。

[ @eventid = ] event_id

オンにするイベントの ID です。event_idint であり、既定値はありません。

次の表は、トレースに対して追加または削除できるイベントの一覧です。

イベント番号
イベント名

説明
0-9 予約済み  
10 RPC:Completed リモート プロシージャ呼び出し (RPC) が完了したときに発生します。
11 RPC:Starting RPC が起動したときに発生します。
12 SQL:BatchCompleted Transact-SQL バッチが完了したときに発生します。
13 SQL:BatchStarting Transact-SQL バッチが開始したときに発生します。
14 Login ユーザーが、SQL Server に正常にログオンしたときに発生します。
15 Logout ユーザーが、SQL Server からログアウトしたときに発生します。
16 Attention クライアントの割り込み要求や中断されたクライアント接続などのアテンション イベントが発生したときに発生します。
17 ExistingConnection トレースが開始する前に SQL Server に接続されているユーザーのすべての利用状況を検出します。
18 ServiceControl SQL Server サービスの状態が変更されたときに発生します。
19 DTCTransaction 2 つ以上のデータベース間において Microsoft 分散トランザクション コーディネータ (MS DTC) がコーディネートしたトランザクションを追跡します。
20 Login Failed クライアントから SQL Server へのログインの試みが失敗したことを示します。
21 EventLog イベントが Microsoft Windows NT® アプリケーション ログに記録されたことを示します。
22 ErrorLog エラー イベントが SQL Server エラー ログに記録されたことを示します。
23 Lock:Released ページなどのリソースのロックが解除されたことを示します。
24 Lock:Acquired データ ページなどのリソースのロックの取得を示します。
25 Lock:Deadlock 2 つの同時実行トランザクションが双方とも、相手のトランザクションの所有する、両立しないリソースのロックを取得しようとして、デッドロックに陥ったことを示します。
26 Lock:Cancel たとえば、デッドロックなどによって、リソースのロックの取得が取り消されたことを示します。
27 Lock:Timeout 必要とするリソースのロックをほかのトランザクションが所有しているため、ページなどのリソースのロックへの要求がタイムアウトになったことを示します。タイムアウトは @@LOCK_TIMEOUT 関数で定義し、SET LOCK_TIMEOUT ステートメントで設定することができます。
28 DOP Event SELECT、INSERT、または UPDATE ステートメントが実行される前に発生します。
29-31 予約済み 代わりにイベント 28 を使用してください。
32 予約済み  
33 Exception SQL Server で例外が発生したことを示します。
34 SP:CacheMiss ストアド プロシージャがプロシージャ キャッシュ内にないことを示します。
35 SP:CacheInsert プロシージャ キャッシュに項目が挿入されたことを示します。
36 SP:CacheRemove プロシージャ キャッシュから項目が削除されたことを示します。
37 SP:Recompile ストアド プロシージャが再コンパイルされたことを示します。
38 SP:CacheHit ストアド プロシージャがプロシージャ キャッシュ内にあることを示します。
39 SP:ExecContextHit ストアド プロシージャの実行バージョンがプロシージャ キャッシュで見つかった時期を示します。
40 SQL:StmtStarting Transact-SQL ステートメントが開始したときに発生します。
41 SQL:StmtCompleted Transact-SQL ステートメントが完了したときに発生します。
42 SP:Starting ストアド プロシージャが開始されたことを示します。
43 SP:Completed ストアド プロシージャが完了したことを示します。
44 予約済み 代わりにイベント 40 を使用してください。
45 予約済み 代わりにイベント 41 を使用してください。
46 Object:Created CREATE INDEX ステートメント、CREATE TABLE ステートメント、CREATE DATABASE ステートメントなどによってオブジェクトが作成されたことを示します。
47 Object:Deleted DROP INDEX ステートメントや DROP TABLE ステートメントなどによってオブジェクトが削除されたことを示します。
48 予約済み  
49 予約済み
50 SQL Transaction Transact-SQL の BEGIN、COMMIT、SAVE、および ROLLBACK TRANSACTION のステートメントを追跡します。
51 Scan:Started テーブル スキャンまたはインデックス スキャンが開始されたことを示します。
52 Scan:Stopped テーブル スキャンまたはインデックス スキャンが停止したことを示します。
53 CursorOpen ODBC、OLE DB、または DB-Library により Transact-SQL ステートメントでカーソルがオープンされたことを示します。
54 Transaction Log トランザクションがいつトランザクション ログに書き込まれるかを追跡します。
55 Hash Warning バッファ パーティション上で処理されていないハッシュ演算 (たとえば、ハッシュ結合、ハッシュ集計、ハッシュ ユニオン、ハッシュ識別など) が代替プランに変更されたことを示します。これは、再帰深度、データ スキュー、トレース フラグ、またはビット カウンティングが原因で発生します。
56-57 予約済み  
58 Auto Update Stats インデックスの統計の自動更新が実行されたことを示します。
59 Lock:Deadlock Chain デッドロックにつながる個々のイベントについて作成されます。
60 Lock:Escalation たとえば、行ロックがページ ロックにエスカレートまたは変換された場合のように、細かい単位のロックが大きな単位のロックに変換されたことを示します。
61 OLE DB Errors OLE DB エラーが発生したことを示します。
62-66 予約済み  
67 Execution Warnings SQL Server ステートメントまたはストアド プロシージャの実行中に発生した警告を示します。
68 Execution Plan 実行中の Transact-SQL ステートメントのプラン ツリーを表示します。
69 Sort Warnings メモリの中に収まらない並べ替え操作を示します。インデックスの作成に関連する並べ替え操作は対象になりません。SELECT ステートメントで使用される ORDER BY 句などのクエリ内の並べ替え操作のみが対象になります。
70 CursorPrepare ODBC、OLE DB、または DB-Library により Transact-SQL ステートメントのカーソルが使用のために準備されたことを示します。
71 Prepare SQL ODBC、OLE DB、または DB-Library が、準備された 1 つ、または複数の Transact-SQL ステートメントを使用のために実行しました。
72 Exec Prepared SQL ODBC、OLE DB、または DB-Library が、準備された 1 つ、または複数の Transact-SQL ステートメントを実行しました。
73 Unprepare SQL ODBC、OLE DB、または DB-Library が、準備された 1 つ、または複数の Transact-SQL ステートメントを削除しました。
74 CursorExecute Transact-SQL ステートメントで、ODBC、OLE DB、または DB-Library によってあらかじめ準備されていたカーソルが実行されます。
75 CursorRecompile Transact-SQL ステートメントで ODBC または DB-Library によってオープンされたカーソルが、直接またはスキーマの変更によって再コンパイルされています。

ANSI および非 ANSI のカーソルについてトリガされます。

76 CursorImplicitConversion Transact-SQL ステートメントのカーソルが、SQL Server によってある種類から別の種類に変換されます。

ANSI および非 ANSI のカーソルについてトリガされます。

77 CursorUnprepare Transact-SQL ステートメントの準備されたカーソルが、ODBC、OLE DB、または DB-Library によって削除されています。
78 CursorClose Transact-SQL ステートメントで、先に ODBC、OLE DB、または DB-Library がオープンしたカーソルがクローズされます。
79 Missing Column Statistics オプティマイザに有効な列の統計が利用できません。
80 Missing Join Predicate 結合の述語がないクエリが実行されています。クエリの終了に時間のかかる恐れがあります。
81 Server Memory Change Microsoft SQL Server のメモリ使用量が増加または減少しました。増加または減少の単位は、1 MB または最大サーバー メモリの 5% のいずれか大きい方です。
82-91 User Configurable (0 -9) ユーザー定義のイベント データです。
92 Data File Auto Grow データ ファイルがサーバーによって自動的に拡張されたことを示します。
93 Log File Auto Grow データ ファイルがサーバーによって自動的に拡張されたことを示します。
94 Data File Auto Shrink データ ファイルがサーバーによって自動的に圧縮されたことを示します。
95 Log File Auto Shrink ログ ファイルがサーバーによって自動的に圧縮されたことを示します。
96 Show Plan Text クエリ オプティマイザの SQL ステートメントのクエリ プラン ツリーを表示します。
97 Show Plan ALL 実行された SQL ステートメントのコンパイル時のすべての詳細と共にクエリ プランを表示します。
98 Show Plan Statistics 実行された SQL ステートメントの実行時のすべての詳細と共にクエリ プランを表示します。
99 予約済み  
100 RPC Output Parameter 各 RPC について、パラメータの出力値を生成します。
101 予約済み  
102 Audit Statement GDR SQL Server で任意のユーザーが、ステートメント権限の GRANT、DENY、REVOKE を実行するたびに発生します。
103 Audit Object GDR SQL Server で任意のユーザーが、オブジェクト権限の GRANT、DENY、REVOKE を実行するたびに発生します。
104 Audit Add/Drop Login SQL Server ログインが追加または削除されたときに発生します (sp_addloginsp_droplogin)。
105 Audit Login GDR Microsoft Windows® ログイン権限が追加または削除されたときに発生します (sp_grantloginsp_revokelogin、および sp_denylogin)。
106 Audit Login Change Property ログインのプロパティ (パスワードを除く) が変更されたときに発生します (sp_defaultdbsp_defaultlanguage)。
107 Audit Login Change Password SQL Server ログインのパスワードが変更されたときに発生します。

パスワードは記録されません。

108 Audit Add Login to Server Role 固定サーバー ロールに対して、ログインを追加または削除したときに発生します (sp_addsrvrolemembersp_dropsrvrolemember )。
109 Audit Add DB User ログインが、データベースに対してデータベース ユーザー (Windows または SQL Server) として追加または削除されたときに発生します (sp_grantdbaccesssp_revokedbaccesssp_adduser、および sp_dropuser)。
110 Audit Add Member to DB ログインが、データベースに対してデータベース ユーザー (固定またはユーザー定義) として追加または削除されたときに発生します (sp_addrolemembersp_droprolemember、および sp_changegroup)。
111 Audit Add/Drop Role ログインが、データベースに対してデータベース ユーザーとして追加または削除されたときに発生します (sp_addrolesp_droprole)。
112 App Role Pass Change アプリケーションのパスワードが変更されたときに発生します。
113 Audit Statement Permission ステートメント権限 (CREATE TABLE など) が使用されたときに発生します。
114 Audit Object Permission オブジェクト権限 (SELECT など) が使用されたときに発生します。成功した場合にも失敗した場合にも発生します。
115 Audit Backup/Restore BACKUP または RESTORE コマンドが実行されたときに発生します。
116 Audit DBCC DBCC コマンドが実行されたときに発生します。
117 Audit Change Audit 監査トレースが変更されたときに発生します。
118 Audit Object Derived Permission CREATE、ALTER、および DROP のオブジェクト コマンドが実行されたときに発生します。

[ @columnid = ] column_id

イベントに対して追加する列の ID です。column_idint であり、既定値はありません。

次の表は、イベントに対して追加できる列の一覧です。

列番号 列名 説明
1 TextData トレースにキャプチャされるイベント クラスに依存するテキスト値。
2 BinaryData トレースにキャプチャされた、イベント クラスに依存するバイナリ値。
3 DatabaseID USE database ステートメントで指定されたデータベースの ID。ある接続について USE database ステートメントが実行されていない場合は既定のデータベースの ID となります。

データベースに対するデータベース ID の値は、DB_ID 関数を使用して指定することができます。

4 TransactionID トランザクションに対してシステムが割り当てた ID。
5 Reserved  
6 NTUserName Microsoft Windows NT® ユーザー名。
7 NTDomainName ユーザーが属している Windows NT ドメイン。
8 ClientHostName 要求を生成したクライアント コンピュータ。
9 ClientProcessID クライアント アプリケーションが実行されているプロセスに対し、クライアントのコンピュータが割り当てた ID。
10 ApplicationName SQL Server のインスタンスへの接続を作成したクライアント アプリケーションの名前。この列は、プログラムの表示名ではなくアプリケーションによって渡された値が格納されます。
11 SQLSecurityLoginName クライアントの SQL Server ログイン名。
12 SPID クライアントに関連付けられたプロセスに対して SQL Server が割り当てた、SPID (Server Process ID)。
13 Duration イベントの実行に要した経過時間 (ミリ秒)。このデータ列は、Hash Warning イベントによって作成されません。
14 StartTime イベントの開始時刻 (取得できた場合)。
15 EndTime イベントが終了した時刻。SQL:BatchStartingSP:Starting などの開始を示すイベント クラスには、このデータ列は作成されません。また、Hash Warning イベントによっても作成されません。
16 Reads イベントの代わりにサーバーが実行する論理ディスク読み取り回数。この列は、Lock:Released イベントによって作成されません。
17 Writes イベントの代わりにサーバーが実行する物理ディスクの書き込み数。
18 CPU イベントが使用した CPU 時間 (ミリ秒)。
19 Permissions 権限のビットマップを表します。セキュリティ監視が使用します。
20 Severity 例外の重大度レベル。
21 EventSubClass イベント サブクラスの種類。このデータ列は、すべてのイベント クラスについてデータが作成されません。
22 ObjectID オブジェクトに対してシステムが割り当てた ID。
23 Success 権限の使用が成功したかどうかを示します。監査で使用します。

1 = 成功
0 = 失敗

24 IndexID イベントの影響を受けるオブジェクトに付けられたインデックス用の ID。オブジェクトのインデックス ID は、sysindexes システム テーブルの indid 列で決定します。
25 IntegerData トレースにキャプチャされた、イベント クラスに依存する整数値。
26 ServerName トレースの対象となっている SQL Server のインスタンスの名前 (servername または servername\instancename)。
27 EventClass 記録されているイベント クラスの種類。
28 ObjectType オブジェクトの種類 (テーブル、関数、ストアド プロシージャなど)。
29 NestLevel このストアド プロシージャが実行されているネスト レベル。「@@NESTLEVEL」を参照してください。
30 State エラーが発生した場合に、エラーの状態を示します。
31 Error エラー番号。
32 Mode 取得されたロックのロック モード。この列は、Lock:Released イベントによって作成されません。
33 Handle イベントで参照されているオブジェクトのハンドル。
34 ObjectName アクセスされるオブジェクトの名前。
35 DatabaseName USE database ステートメントで指定されたデータベースの名前。
36 ファイル名 変更されるファイル名の論理名。
37 ObjectOwner 参照されるオブジェクトの所有者 ID。
38 TargetRoleName ステートメントで対象となっているデータベースまたはサーバー全体のロールの名前。
39 TargetUserName ある操作の対象のユーザー名。
40 DatabaseUserName クライアントの SQL Server データベース ユーザー名。
41 LoginSID ログイン ユーザーのセキュリティ識別番号 (SID)。
42 TargetLoginName ある操作の対象のログイン名。
43 TargetLoginSID ある操作の対象であるログインの SID。
44 ColumnPermissionsSet 列レベル権限の状態。監査で使用します。

[ @on = ] on

イベントを ON (1) にするか OFF (0) にするかを指定します。@onbit であり、既定値はありません。

on を 1 に設定し、かつ、column_id が NULL である場合、イベントは ON に設定され、すべての列は消去されます。column_id が NULL でない場合、そのイベントに対して列は ON になります。

on を 0 に設定し、かつ、column_id が NULL である場合、イベントは OFF に設定され、すべての列は消去されます。column_id が NULL でない場合、列は OFF になります。

次の表は、@on@columnid の相互作用の一覧です。

@on @columnid 結果
ON (1) NULL イベントは ON になります。

すべての列は消去されます。

  NOT NULL 指定されたイベントに対して列 ON になります。
OFF (0) NULL イベントは OFF になります。

すべての列は消去されます。

  NOT NULL 指定されたイベントに対して列は OFF になります。

戻り値

次の表は、このストアド プロシージャの完了時の戻り値 (コード値) の一覧です。

リターン コード 説明
0 エラーはありません。
1 不明なエラーです。
2 トレースは現在実行中です。この時点でトレースを変更すると、エラーが発生します。
3 指定したイベントは無効です。イベントが存在しないか、またはこのストアド プロシージャでは適切ではありません。
4 指定した列は無効です。
9 指定したトレース ハンドルは無効です。
11 指定した列は内部で使用されるので、削除できません。
13 メモリが足りません。指定した操作を実行するために十分なメモリがない場合に返されます。
16 関数がこのトレースに対して無効です。

解説

sp_trace_setevent は、以前のバージョンの SQL Server に用意されている拡張ストアド プロシージャで実行する操作の多くを実行する Microsoft SQL Server 2000 のストアド プロシージャです。sp_trace_setevent は、以下の拡張ストアド プロシージャの代わりに使用します。

  • xp_trace_addnewqueue

  • xp_trace_eventclassrequired

  • xp_trace_seteventclassrequired

sp_trace_setevent は、各イベントに対して追加した列ごとに実行する必要があります。実行するたびに、@on が 1 に設定されると、sp_trace_setevent は、そのイベントをトレースのイベントの一覧に追加します。@on が 0 に設定されると、sp_trace_setevent は、そのイベントをその一覧から削除します。

すべての SQL Trace ストアド プロシージャ (sp_trace_xx) のパラメータでは、データ型が厳密に定義されています。これらのパラメータを、引数の説明で指定されている正しいデータ型で呼び出されないと、このストアド プロシージャはエラーを返します。

権限

sp_trace_setevent を実行できるのは、固定サーバー ロール sysadmin のメンバだけです。

関連項目

fn_trace_geteventinfo

fn_trace_getinfo

sp_trace_generateevent

© 2009 Microsoft Corporation. All rights reserved. 使用条件  |  商標  |  プライバシー
Page view tracker