Aracılığıyla paylaş


Nasıl Yapılır: Sistem etkinliğini izleme kullanma olayları genişletilmiş.

Bu yordamın nasıl genişletilmiş olaylar olay izleme için Windows (ETW birlikte) sistem etkinliğini izlemek için kullanılabileceğini gösterir.Yordamı aynı zamanda CREATE OLAY oturum ve ALTER OLAY oturum DROP OLAY oturum ifadeleri nasıl kullanıldığını gösterir.

Query Düzenleyicisi'nde kullanarak bu görevleri yerine getirmeye içerir SQL Server Management Studio Aşağıdaki yordamı gerçekleştirmek için . Yordam, ayrıca ETW komutlarýný çalýþtýrmak için komut istemi istemini kullanarak gerektirir.

Genişletilmiş olayları kullanarak sistem etkinliğini izlemek için

  1. Query Düzenleyicisi'nde, bir olay oturum oluşturmak ve bu iki olay eklemek için aşağıdaki ifadeleri sorun.Bu olaylar, checkpoint_begin ve checkpoint_end, başında ve sonunda bir veritabanı denetim noktası ateşlenmesine.

    CREATE EVENT SESSION test0
    ON SERVER
    ADD EVENT sqlserver.checkpoint_begin,
    ADD EVENT sqlserver.checkpoint_end
    WITH (MAX_DISPATCH_LATENCY = 1 SECONDS)
    go
    
  2. Veritabanı KIMLIğI temel alınarak denetim noktaları adedini saymak için 32 demetleri ile bucketing hedef ekleme

    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. ETW hedefi eklemek için aşağıdaki ifadeleri sorun.Bu, başlangıç bakın ve denetim noktası ne kadar sürer belirlemek için kullanılan olayları, sona erdirmek etkinleştirir.

    ALTER EVENT SESSION test0
    ON SERVER
    ADD TARGET package0.etw_classic_sync_target
    go
    
  4. oturum başlatmak ve olay koleksiyon başlamak için aşağıdaki ifadeleri sorun.

    ALTER EVENT SESSION test0
    ON SERVER
    STATE = start
    go
    
  5. Aşağıdaki ifadeler üç olayları ateşlenmesine neden sorun.

    USE tempdb
          checkpoint
    go
    USE master
          checkpoint
          checkpoint
    go
    
  6. Olay sayımlarını görüntülemek için aşağıdaki ifadeleri sorun.

    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. komut istemi isteminde, ETW verileri görüntülemek için aşağıdaki komutlar vermek.

    Not

    Yardım almak için tracerpt komutu, komut istemi isteminde, girintracerpt /?.

    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. Olay oturum durdurun ve sunucudan kaldırmak için aşağıdaki ifadeleri sorun.

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