Olay hedefi eşleştirme

Olay eşleştirme hedefi iki olay, her durumda bulunan verileri bir veya daha fazla sütun kullanarak eşleştirir. Birçok olay çiftler halinde gelir, örneğin kilit edinir ve bültenleri kilitleyin. Her iki olay, olay sırası eşleştirilen sonra atılır. Atarak eşleşen kümeleri için piyasaya henüz kilit satın alma kolay algılama sağlar.

Olay düzeyi filtreleri kullanarak eşleştirme hedefi yalnızca önceden ayarlanan ölçütlere uymayan olayları yakalamak için kullanılabilir.

Olay eşleşme hedef kullandığınızda, üzerinde eşleştirme yapmak için sütun dizisi ile birlikte eşlenmesi iki olay seçebilirsiniz. Bu sırada tüm sütunlar aynı türde olmalıdır.

Aşağıdaki tabloda olay çifti yapılandırmak için kullanılabilir seçenekleri açıklar.

Seçenek

Izin verilen değerler

Açıklama

begin_event

Geçerli oturumda mevcut olan herhangi bir olay adı.

Olay adı başına olay eşleştirilmiş sırayla belirtme.

end_event

Geçerli oturumda mevcut olan herhangi bir olay adı.

Olay adı bitiş olay eşleştirilmiş sırayla belirtme.

begin_matching_columns

Sütun adları virgülle sınırlandırılmış, sipariş edilen listesi.

Tarih eşleştirme yapmak için sütunlar.

end_matching_columns

Sütun adları virgülle sınırlandırılmış, sipariş edilen listesi.

Tarih eşleştirme yapmak için sütunlar.

begin_matching_actions

Eylemleri virgülle ayrılmış, sipariş edilen listesi.

Eşleşen üzerinde gerçekleştirilecek eylemler.

end_matching_actions

Eylemleri virgülle ayrılmış, sipariş edilen listesi.

Eşleşen üzerinde gerçekleştirilecek eylemler.

respond_to_memory_pressure

Aşağıdaki değerlerden biri:

  • 0 = Yapın yanıt.

  • 1 = Bellek baskısı olduğunda yeni öksüz listesine ekleyerek dur.

Hedef olaylarına yanıt olarak bellek. Eğer 1 olarak ayarlayın ve sunucu bellek yok, tutulan eşleşmemiş bilgiler kaldırılır.

max_orphans

Toplanacak eşleşmemiş olayların toplam sayısı, hedef belirtir. Sınıra ulaşıldığında eşleşmemiş olayları bir ilk giren kümesinde (FIFO) olarak kaldırılır. Varsayılan = 10,000.

Bir olayla ilişkilendirilmiş bütün veriyi yakalanan ve gelecekteki eşleştirme için saklı. Ayrıca, eylem tarafından eklenen veriler toplanır. Toplanan Olay verileri bellekte saklanır ve bu nedenle sonlu bir sınırı vardır. Bu sınır, sistem kapasitesi ve faaliyet dayanmaktadır. Parametre olarak kullanılacak bellek maksimum miktarı almak yerine, kullanılan bellek miktarını kullanılabilir sistem kaynakları temel alır. Bunlar kullanılamadığında, muhafaza eşleşmemiş olayları çökecektir. Bir olay değil eşleştirilmiş ve düşer, eşleşen olay eşleşmemiş bir olay görünür.

Eşleşme hedef xml biçiminde eşleşmemiş olayları serileştirildiğini. Bu biçim için herhangi bir şema uymuyor. Biçim yalnızca iki öğe türlerini içerir. <unpaired>Tarafından izlenen kök öğedir. <event>öğe şu anda izlenmekte olan eşleşmemiş her olay için. <event>Öğesi içeriyor eşleşmemiş olayın adını içeren bir özniteliği.

Bir oturumu hedef ekleme

Genişletilmiş olayları oturumu hedefe eşleşen çifti eklemek için oluşturduğunuzda veya alter olay oturumu aşağıdaki deyimi içermelidir:

ADD TARGET package0.pair_matching 

Bu başlangıç ve bitiş ve hangi eylemleri veya sütunları eşleştirmek için olayları tanımlamak için set deyimi ile takip ediyorum. Çifti eşleştirmek için örnek sözdizimi aşağıdaki örnekte gösterilmiştir sqlserver.lock_acquiredve sqlserver.lock_releasedolaylar.

   ( SET begin_event = 'sqlserver.lock_acquired',
      begin_matching_columns = 'database_id, resource_0, resource_1, resource_2, transaction_id, mode',
      end_event = 'sqlserver.lock_released',
      end_matching_columns = 'database_id, resource_0, resource_1, resource_2, transaction_id, mode',
   respond_to_memory_pressure = 1)

Daha fazla bilgi için, bkz. Hangi sorguların kilit tutan belirlemek.

Hedef çıkış gözden geçirme

Çıktı için çifti eşleşen hedef gözden geçirmek için aşağıdaki kullanabilirsiniz sorgulamak, değiştirmek session_nameolay oturum adı.

SELECT name, target_name, CAST(xet.target_data AS xml)
FROM sys.dm_xe_session_targets AS xet
JOIN sys.dm_xe_sessions AS xe
   ON (xe.address = xet.event_session_address)
WHERE xe.name = 'session_name'

Aşağıdaki örnek, eşleşme hedef çıktı biçimini gösterir.

<unpaired truncated = "0" matchedCount = "[matched count]" memoryPressureDroppedCount = " [lost count]">
    <event name  = "[event name]" package = "[package]" id= "[event ID value]" version = "[event version]">
    <data name = "[column name]"> 
    <type name = "[column type]" package = "[type package]" /> 
    <value>[column value]</value>
    <text value>[text value]</text>>
        </data>
    </event>
</unpaired>

Ayrıca bkz.

Başvuru

sys.dm_xe_session_targets (Transact-sql)

OLAY SESSION (Transact-sql) oluştur

alter olay SESSION (Transact-sql)

Kavramlar

SQL Server Genişletilmiş olayları hedefleri