Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-database in Microsoft Fabric
In deze procedure ziet u hoe uitgebreide gebeurtenissen kunnen worden gebruikt met Event Tracing for Windows (ETW) om systeemactiviteit te bewaken. De procedure laat ook zien hoe de statements CREATE EVENT SESSION, ALTER EVENT SESSION en DROP EVENT SESSION worden gebruikt.
Het uitvoeren van deze taken omvat het gebruik van Query-editor in SQL Server Management Studio om de volgende procedure uit te voeren. Voor de procedure moet u ook de opdrachtprompt gebruiken om ETW-opdrachten uit te voeren.
Systeemactiviteit bewaken met behulp van uitgebreide gebeurtenissen
Geef in Query-editor de volgende instructies uit om een gebeurtenissessie te maken en twee gebeurtenissen toe te voegen. Deze gebeurtenissen, checkpoint_begin en checkpoint_end, worden aan het begin en einde van een databasecontrolepunt geactiveerd.
CREATE EVENT SESSION test0 ON SERVER ADD EVENT sqlserver.checkpoint_begin, ADD EVENT sqlserver.checkpoint_end WITH (MAX_DISPATCH_LATENCY = 1 SECONDS) goVoeg het bucketingdoel toe met 32 vakjes om op basis van de database-ID het aantal controlepunten te tellen.
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' ) goVoer de volgende instructies uit om het ETW-doel toe te voegen. Hiermee kunt u de begin- en eindevenementen zien, die worden gebruikt om te bepalen hoe lang het controlepunt duurt.
ALTER EVENT SESSION test0 ON SERVER ADD TARGET package0.etw_classic_sync_target goGeef de volgende instructies om de sessie te starten en de gebeurtenisverzameling te starten.
ALTER EVENT SESSION test0 ON SERVER STATE = start goGeef de volgende opdrachten om ervoor te zorgen dat drie gebeurtenissen worden geactiveerd.
USE tempdb checkpoint go USE master checkpoint checkpoint goGeef de volgende opdrachten om het aantal gebeurtenissen weer te geven.
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' goGeef bij de opdrachtprompt de volgende opdrachten uit om de ETW-gegevens weer te geven.
Opmerking
Als u hulp wilt krijgen voor de tracerpt-opdracht, voer dan bij de opdrachtprompt
tracerpt /?in.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.Geef de volgende instructies uit om de gebeurtenissessie te stoppen en deze van de server te verwijderen.
ALTER EVENT SESSION test0 ON SERVER STATE = STOP go DROP EVENT SESSION test0 ON SERVER go
Zie ook
GEBEURTENISSESSIE MAKEN (Transact-SQL)
ALTER EVENT SESSION (Transact-SQL)
DROP EVENT SESSION (Transact-SQL)
Weergaven voor uitgebreide gebeurtenissencatalogus (Transact-SQL)
Weergaven voor dynamisch beheer van uitgebreide gebeurtenissen
Uitgebreide SQL Server-gebeurtenissendoelen