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
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
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
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
oturum başlatmak ve olay koleksiyon başlamak için aşağıdaki ifadeleri sorun.
ALTER EVENT SESSION test0 ON SERVER STATE = start go
Aşağıdaki ifadeler üç olayları ateşlenmesine neden sorun.
USE tempdb checkpoint go USE master checkpoint checkpoint go
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
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.
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
See Also