Udostępnij za pośrednictwem


How to: Monitor System Activity Using Extended Events

Poniższa procedura ilustruje, jak Extended zdarzeń można używać z zdarzeń śledzenia dla systemu Windows (ETW) do monitorowania aktywności systemu.W procedurze pokazano również, jak są używane instrukcje sesja sesja zdarzenie CREATE, ALTER zdarzenie sesja i DROP zdarzenie.

Wykonania tych zadań polega na użyciu Edytor kwerend w SQL Server Management Studio Aby wykonać poniższą procedurę. Procedura wymaga także za pomocą wiersz polecenia do uruchamiania poleceń ETW.

Monitorowanie aktywności systemu przy użyciu rozszerzonego zdarzenia

  1. W edytorze Query wydać następujące instrukcje, aby do sesja zdarzenie utworzyć i dodać dwa zdarzenie.Te zdarzenia, checkpoint_begin i checkpoint_end, pożaru na początku i końcu punkcie kontrolnym bazy danych.

    CREATE EVENT SESSION test0
    ON SERVER
    ADD EVENT sqlserver.checkpoint_begin,
    ADD EVENT sqlserver.checkpoint_end
    WITH (MAX_DISPATCH_LATENCY = 1 SECONDS)
    go
    
  2. Dodawanie bucketing docelowego z 32 pakiety do policzenia, ile punktów kontrolnych w oparciu o identyfikator bazy danych.

    ALTER EVENT SESSION test0
    ON SERVER
    ADD TARGET package0.asynchronous_bucketizer
    (
          SET slots = 32, filtering_event_name = 'sqlserver.checkpoint_end', source_type = 0, source = 'database_id'
    )
    go
    
  3. Należy wydać następujące instrukcje, aby dodać miejsce docelowe ETW.Pozwoli to rozpoczęcia i zakończenia zdarzenia, która jest używana do określenia, jak długo trwa punkt kontrolny.

    ALTER EVENT SESSION test0
    ON SERVER
    ADD TARGET package0.etw_classic_sync_target
    go
    
  4. Wydać następujące instrukcje, aby rozpocząć sesja i rozpocząć zdarzenie kolekcji.

    ALTER EVENT SESSION test0
    ON SERVER
    STATE = start
    go
    
  5. Należy wydać następujące instrukcje spowodować trzy zdarzenia uruchomienie.

    USE tempdb
          checkpoint
    go
    USE master
          checkpoint
          checkpoint
    go
    
  6. Wydać następujące instrukcje, aby wyświetlić zdarzenie liczniki.

    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 = 'asynchronous_bucketizer' AND xes.name = 'test0'
    go
    
  7. W wiersz polecenia należy wydać następujące polecenia, aby wyświetlić dane ETW.

    Uwaga

    Aby uzyskać pomoc dotyczącą tracerpt , polecenie w wiersz polecenia należy wprowadzić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. Należy wydać następujące instrukcje, aby zatrzymać sesja zdarzeń i usunąć go z serwera.

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