Megosztás a következőn keresztül:


Rendszertevékenység monitorozása kiterjesztett események használatával

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példánySQL-adatbázis a Microsoft Fabricben

Ez az eljárás bemutatja, hogyan használhatók a bővített események a Windows eseménykövetésével (ETW) a rendszertevékenységek figyelésére. Az eljárás azt is bemutatja, hogyan használhatók a CREATE EVENT SESSION, az ALTER EVENT SESSION és a DROP EVENT SESSION utasítások.

Ezeknek a feladatoknak a végrehajtásához a Lekérdezésszerkesztőt kell használni az SQL Server Management Studióban az alábbi eljárás végrehajtásához. Az eljáráshoz az ETW-parancsok futtatásához a parancssort is használni kell.

Rendszertevékenység monitorozása bővített események használatával

  1. A Lekérdezésszerkesztőben adja ki az alábbi utasításokat egy esemény-munkamenet létrehozásához és két esemény hozzáadásához. Ezek az események, checkpoint_begin és checkpoint_end, egy adatbázis-ellenőrzőpont elején és végén aktiválódnak.

    CREATE EVENT SESSION test0  
    ON SERVER  
    ADD EVENT sqlserver.checkpoint_begin,  
    ADD EVENT sqlserver.checkpoint_end  
    WITH (MAX_DISPATCH_LATENCY = 1 SECONDS)  
    go  
    
  2. Adja hozzá a csoportosítási célt 32 vödörrel az ellenőrzőpontok számának megszámlálásához az adatbázis-azonosító alapján.

    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. Adja meg az alábbi utasításokat az ETW-cél hozzáadásához. Ez lehetővé teszi a kezdő és záró események megtekintését, amely az ellenőrzőpont élettartamának meghatározására szolgál.

    ALTER EVENT SESSION test0  
    ON SERVER  
    ADD TARGET package0.etw_classic_sync_target  
    go  
    
  4. A munkamenet elindításához és az eseménygyűjtés megkezdéséhez adja ki az alábbi utasításokat.

    ALTER EVENT SESSION test0  
    ON SERVER  
    STATE = start  
    go  
    
  5. Adja meg az alábbi utasításokat, amelyek három eseményt aktiválnak.

    USE tempdb  
          checkpoint  
    go  
    USE master  
          checkpoint  
          checkpoint  
    go  
    
  6. Adja ki az alábbi utasításokat az eseményszámok megtekintéséhez.

    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. A parancssorban adja ki az alábbi parancsokat az ETW-adatok megtekintéséhez.

    Megjegyzés:

    Ha segítségre van szüksége a tracerpt parancshoz, írja be a parancssorba 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. Adja meg az alábbi utasításokat az esemény munkamenetének leállításához és a kiszolgálóról való eltávolításához.

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

Lásd még:

CREATE EVENT SESSION (Transact-SQL)
ALTER EVENT SESSION (Transact-SQL)
DROP EVENT SESSION (Transact-SQL)
Bővített eseménykatalógus nézetei (Transact-SQL)
Bővített események dinamikus felügyeleti nézetei
AZ SQL Server bővített eseménycéljai