拡張イベントを使用したシステムの使用状況の監視Monitor System Activity Using Extended Events

この手順は、拡張イベントを Event Tracing for Windows (ETW) と共に使用してシステムの使用状況を監視する方法を示します。This procedure illustrates how Extended Events can be used with Event Tracing for Windows (ETW) to monitor system activity. また、CREATE EVENT SESSION、ALTER EVENT SESSION、DROP EVENT SESSION の各ステートメントの使用方法についても説明します。The procedure also shows how the CREATE EVENT SESSION, ALTER EVENT SESSION, and DROP EVENT SESSION statements are used.

この作業には、 SQL Server Management StudioSQL Server Management Studio のクエリ エディターを使用した次の手順の実行も含まれます。Accomplishing these tasks involves using Query Editor in SQL Server Management StudioSQL Server Management Studio to carry out the following procedure. この手順では、コマンド プロンプトを使用して ETW コマンドを実行することも必要です。The procedure also requires using the command prompt to run ETW commands.

拡張イベントを使用してシステムの使用状況を監視するにはTo monitor system activity using Extended Events

  1. クエリ エディターで次のステートメントを実行してイベント セッションを作成し、2 つのイベントを追加します。In Query Editor, issue the following statements to create an event session and add two events. checkpoint_begin と checkpoint_end のイベントは、データベース チェックポイントの開始時と終了時に起動されます。These events, checkpoint_begin and checkpoint_end, fire at the beginning and end of a database checkpoint.

    CREATE EVENT SESSION test0  
    ON SERVER  
    ADD EVENT sqlserver.checkpoint_begin,  
    ADD EVENT sqlserver.checkpoint_end  
    WITH (MAX_DISPATCH_LATENCY = 1 SECONDS)  
    go  
    
  2. 32 バケットのバケット ターゲットを追加して、データベース ID に基づいたチェックポイントの数をカウントします。Add the bucketing target with 32 buckets to count the number of checkpoints based on the database ID.

    ALTER EVENT SESSION test0  
    ON SERVER  
    ADD TARGET package0.histogram  
    (  
          SET slots = 32, filtering_event_name = 'sqlserver.checkpoint_end', source_type = 0, source = 'database_id'  
    )  
    go  
    
  3. 次のステートメントを実行して ETW ターゲットを追加します。Issue the following statements to add the ETW target. こうすると開始イベントと終了イベントを表示できるので、これを使用してチェックポイントの所要時間を判断できます。This will enable you to see the begin and end events, which is used to determine how long the checkpoint takes.

    ALTER EVENT SESSION test0  
    ON SERVER  
    ADD TARGET package0.etw_classic_sync_target  
    go  
    
  4. 次のステートメントを実行してセッションを開始し、イベント コレクションを開始します。Issue the following statements to start the session and begin event collection.

    ALTER EVENT SESSION test0  
    ON SERVER  
    STATE = start  
    go  
    
  5. 次のステートメントを実行して 3 つのイベントを発生させます。Issue the following statements to cause three events to fire.

    USE tempdb  
          checkpoint  
    go  
    USE master  
          checkpoint  
          checkpoint  
    go  
    
  6. 次のステートメントを実行してイベント カウントを表示します。Issue the following statements to view the event counts.

    SELECT CAST(xest.target_data AS xml) Bucketizer_Target_Data_in_XML  
    FROM sys.dm_xe_session_targets xest  
    JOIN sys.dm_xe_sessions xes ON xes.address = xest.event_session_address  
    JOIN sys.server_event_sessions ses ON xes.name = ses.name  
    WHERE xest.target_name = 'histogram' AND xes.name = 'test0'  
    go  
    
  7. コマンド プロンプトで、次のコマンドを実行すると ETW のデータが表示されます。At the command prompt, issue the following commands to view the ETW data.

    注意

    tracerpt コマンドのヘルプを表示するには、コマンド プロンプトで「 tracerpt /?」と入力します。To get help for the tracerpt command, at the command prompt, enter tracerpt /?.

    logman query -ets --- List the ETW sessions. This is optional.  
    logman update XE_DEFAULT_ETW_SESSION -fd -ets --- Flush the ETW log.  
    tracerpt %temp%\xeetw.etl -o xeetw.txt --- Dump the events so they can be seen.  
    
  8. 次のステートメントを実行してイベント セッションを停止し、サーバーから削除します。Issue the following statements to stop the event session and remove it from the server.

    ALTER EVENT SESSION test0  
    ON SERVER  
    STATE = STOP  
    go  
    
    DROP EVENT SESSION test0  
    ON SERVER  
    go  
    

参照See Also

CREATE EVENT SESSION (Transact-SQL) CREATE EVENT SESSION (Transact-SQL)
ALTER EVENT SESSION (Transact-SQL) ALTER EVENT SESSION (Transact-SQL)
DROP EVENT SESSION (Transact-SQL) DROP EVENT SESSION (Transact-SQL)
拡張イベント カタログ ビュー (Transact-SQL)Extended Events Catalog Views (Transact-SQL)
拡張イベントの動的管理ビュー Extended Events Dynamic Management Views
SQL Server 拡張イベント ターゲットSQL Server Extended Events Targets