Olay OTURUMU (Transact-SQL) Değiştir

olayoturum başlatır veya olayoturumyapılandırmadeğişiklikleri

Konu bağlantısı simgesiTransact-SQL sözdizimi kuralları

Sözdizimi

ALTER EVENT SESSION event_session_name
ON SERVER
{
    [ [ {  <add_drop_event> [ ,...n] }   
       | { <add_drop_event_target> [ ,...n ] } ] 
    [ WITH ( <event_session_options> [ ,...n ] ) ]
    ]
    | [ STATE = { START | STOP } ]
}

<add_drop_event>::=
{
    [ ADD EVENT <event_specifier> 
         [ ( { 
                 [ SET { event_customizable_attribute = <value> [ ,...n ] } ]
                 [ ACTION ( { [event_module_guid].event_package_name.action_name [ ,...n ] } ) ]
                 [ WHERE <predicate_expression> ]
        } ) ]
   ] 
   | DROP EVENT <event_specifier> }

<event_specifier> ::=
{
[event_module_guid].event_package_name.event_name
}

<predicate_expression> ::= 
{
    [ NOT ] <predicate_factor> | {( <predicate_expression> ) } 
    [ { AND | OR } [ NOT ] { <predicate_factor> | ( <predicate_expression> ) } ] 
    [ ,...n ]
}
 
<predicate_factor>::= 
{
    <predicate_leaf> | ( <predicate_expression> )
}

<predicate_leaf>::=
{
      <predicate_source_declaration> { = | < > | ! = | > | > = | < | < = } <value> 
    | [event_module_guid].event_package_name.predicate_compare_name ( <predicate_source_declaration>, <value> ) 
}

<predicate_source_declaration>::= 
{
    event_field_name | ( [event_module_guid].event_package_name.predicate_source_name )
}

<value>::= 
{
    number | 'string'
}

<add_drop_event_target>::=
{
    ADD TARGET <event_target_specifier>
        [ ( SET { target_parameter_name = <value> [ ,...n] } ) ]
    | DROP TARGET <event_target_specifier>
}

<event_target_specifier>::=
{
    [event_module_guid].event_package_name.target_name
}

<event_session_options>::=
{
    [    MAX_MEMORY = size [ KB | MB ] ]
    [ [,] EVENT_RETENTION_MODE = { ALLOW_SINGLE_EVENT_LOSS | ALLOW_MULTIPLE_EVENT_LOSS | NO_EVENT_LOSS } ]
    [ [,] MAX_DISPATCH_LATENCY = { seconds SECONDS | INFINITE } ]
    [ [,] MAX_EVENT_SIZE = size [ KB | MB ] ]
    [ [,] MEMORY_PARTITION_MODE = { NONE | PER_NODE | PER_CPU } ]
    [ [,] TRACK_CAUSALITY = { ON | OFF } ]
    [ [,] STARTUP_STATE = { ON | OFF } ]
}

Bağımsız değişkenler

Deyim

Tanım

event_session_name

Varolan bir olay oturumaddır.

DURUMU = Başlat | DUR

Başlatır veya olay oturumdurdurur.alter olay OTURUMU olay oturum nesneye uygulandığında bu bağımsız değişken yalnızca geçerli olur.

Olay ekleme <event_specifier>

Associates tarafından tanımlanan olay <event_specifier> olay oturum.

[event_module_guid].event_package_name.event_name

Bir olaypaket, bir olay adı burada:

  • event_module_guidolayiçeren modülün GUID'sidir.

  • event_package_nameeylem nesne içeren paket değil.

  • event_nameolay nesnesidir.

Olaylar görünür sys.dm_xe_objects Görünüm olarak object_type 'olay'.

SET { event_customizable_attribute = <value > ,...n] }

olayiçin özelleştirilebilir özniteliklerini belirtir.Özelleştirilebilir öznitelikleri görünür sys.dm_xe_object_columns Görünüm olarak column_type 'özelleştirilebilir' and object_name = event_name.

ACTION ( { event_module_guid.event_package_name.action_name,...n] } )

olayoturumile ilişkilendirmek için eylem yeri:

  • event_module_guidolayiçeren modülün GUID'sidir.

  • event_package_nameeylem nesne içeren paket değil.

  • action_nameeylem nesnesidir.

Eylemler görüntülenir sys.dm_xe_objects Görünüm olarak object_type 'eylem'.

Burada <predicate_expression>

Bir olay işleneceğini belirlemek için kullanılan doðrulama ifade belirtir.<Predicate_expression> olay işlenir doğrudur ve başka eylemler ve oturumiçin hedefler.<Predicate_expression> olay bırakılan oturum eylemler ve oturumiçin Hedefler işlenmeden önce false değeridir.Doðrulama deyimlerinde dize değişkenleri sınırlar 3000 karakterle sınırlıdır.

event_field_name

olayadıdır.

[event_module_guid].event_package_name.predicate_source_name

Genel koşul kaynak adı burada:

  • event_module_guidolayiçeren modülün GUID'sidir.

  • event_package_nameDoðrulama nesneyi içeren paket değil.

  • predicate_source_nametanımlanan sys.dm_xe_objects Nesne_türü 'pred_source' olarak görüntüle

[event_module_guid].event_package_name.predicate_compare_name

olay, ilişkilendirmek için doðrulama nesnesinin adı burada:

  • event_module_guidolayiçeren modülün GUID'sidir.

  • event_package_nameDoðrulama nesneyi içeren paket değil.

  • predicate_compare_nameGenel kaynak tanımlanır sys.dm_xe_objects Görünüm olarak object_type 'pred_compare'.

drop olay <event_specifier>

Tarafından tanımlanan olay düşünceye <event_specifier>.<event_specifier> olay oturumgeçerli olması gerekir.

add target <event_target_specifier>

Tanımlanan hedef associates <event_target_specifier> olay oturum.

[event_module_guid].event_package_name.target_name

olayoturum hedef adı burada:

  • event_module_guidolayiçeren modülün GUID'sidir.

  • event_package_nameeylem nesne içeren paket değil.

  • target_nameeylemdeğildir.Eylemler görüntülenir sys.dm_xe_objects Görünüm olarak object_type 'hedef'.

SET { target_parameter_name = <value > ,...n] }

hedef parametresini ayarlar.Hedef parametreleri görünür sys.dm_xe_object_columns Görünüm olarak column_type 'özelleştirilebilir' and object_name = target_name.

Önemli notÖnemli
Öneririz halka arabelleği hedefkullanıyorsanız, o, küme max_memory2048 kilobayt (kb) olası veri kesilmesi korunmanıza yardımcıhedef parametresi xml çıktı.Farklı hedef türleri'ni kullanma hakkında daha fazla bilgi için bkz: SQL Server Genişletilmiş olayları hedefleri.

BIRAKMA HEDEFİ <event_target_specifier>

Tanımlanan hedef düşünceye <event_target_specifier>.<event_target_specifier> olay oturumgeçerli olması gerekir.

İLE ()<event_session_options > ,... n )

olayoturumile kullanılacak seçenekleri belirtir.

MAX_MEMORY = size KB |MB

oturum olay arabelleği için ayrılacak bellek miktarı üst sınırını belirtir.Varsayılan değer 4 MB'tır.sizebir tamsayı ve kilobayt (kb) veya megabayt (mb) değeri olabilir.Zaman uyumsuz hedefler için ayrılan bellek bu değerinden farklıdır.

EVENT_RETENTION_MODE = { ALLOW_SINGLE_EVENT_LOSS | ALLOW_MULTIPLE_EVENT_LOSS | NO_EVENT_LOSS}

olay zarar işlemek için kullanılacak olay bekletme modu belirtir.

ALLOW_SINGLE_EVENT_LOSS

olay ' % s'oturum oturumile kaybedilir.Tüm olay arabelleği dolduğunda tek olay yalnızca bırakılır.olay arabelleği dolduğunda bir tek olay kaybetmenizi sağlar için kabul edilebilir SQL Server işlenen olay akışı. veri kaybını en aza indirme sırasında performans özellikleri

ALLOW_MULTIPLE_EVENT_LOSS

' % S'oturum oturumile birden çok olay içeren tam olay arabellekleri kaybolabilir.Kayıp olay oturum, bölümleme bellek ve olayları arabellek boyutu ayrılan bellek boyutunu uçağa sayısıdır.Bu seçenek sunucu üzerindeki performans etkisini olay arabellekleri hızla doldurulur, ancak çok sayıda Olay ' % s'oturum oturumile kaybolabilir en aza indirir.

NO_EVENT_LOSS

Hiçbir olay zarar verilir.Bu seçenek, tüm olayları harekete geçirilen korunacak sağlar.Bu seçeneği kullanarak bir olay arabellek alanı oluncaya kadar bekleyin olayları ateşlenmesine tüm görevler zorlar.olayoturum etkin durumdayken bu algılanabilir performans sorunlarına neden olabilir. Kullanıcı bağlantılarını arabelleğinden boşaltılması olayları beklerken stall.

MAX_DISPATCH_LATENCY = { seconds saniye | SONSUZ }

saat olayları bellekte olayoturum hedefleri için dağıtılan önce arabelleğe olduğunu belirtir. Düşük gecikme süresi değerini 1 saniyedir.Ancak, 0 SONSUZ gecikme süresibelirtmek için kullanılır.Varsayılan olarak bu değer 30 saniyeye ayarlanmıştır.

secondsSANİYE

saathedeflerine arabellekleri temizlemesini başlatmadan önce beklenecek saniye cinsinden.secondsbir tamsayıdır.

SONSUZ

Yalnızca arabellek dolduğunda veya olay oturum kapattığında arabellekleri hedefleri temizleme.

NotNot
MAX_DISPATCH_LATENCY = 0 saniye MAX_DISPATCH_LATENCY için eşdeğerdir = SONSUZ.

MAX_EVENT_SIZE = sizekb |MB

Olaylar için izin verilen en büyük boyutunu belirtir.MAX_EVENT_SIZE yalnızca tek olayları max_memory büyük izin verecek şekilde küme olmalıdır; küçük bir hata iletisi max_memory çok ayarlama.sizebir tamsayı ve kilobayt (kb) veya megabayt (mb) değeri olabilir.size Belirtilen kilobayt cinsinden en az izin verilen boyutu 64 kb.MAX_EVENT_SIZE olduğunda küme, iki ara bellekleri size oluşturulur yanında max_memory.Yani olay arabelleğe almak için kullanılan toplam bellek olduğunu max_memory + 2 * MAX_EVENT_SIZE.

MEMORY_PARTITION_MODE ={ none | PER_NODE | PER_CPU}

olay arabellekleri oluşturulduğu konumu belirtir.

HİÇBİRİ

Bir tek küme , arabellek içinde oluşturulan SQL Server örnek.

PER_NODEBir küme , arabellekleri her NUMA düğümüiçin oluşturulur.Daha fazla bilgi için, bkz. Tip olmayan bellek erişimi anlama.
PER_CPUBir küme , arabellekleri her cpu için oluşturulur.

TRACK_CAUSALITY ={on | OFF }

Causality izlenen olup olmadığını belirtir.Etkin, causality ilgili olayları birlikte ilişkili olabilir için farklı bir sunucu bağlantıları sağlar.

startup_state ={on | OFF }

Bu olay oturum otomatik olarak başlattığınızda belirtir SQL Server başlar.

NotNot
Yoksa startup_state, on, olay oturum yalnızca start = SQL Server durdurulur ve yeniden başlatılır.
DeyimTanım
ONBaşlangıçta olay oturum başlatılır.
KAPALIBaşlangıçta olay oturum başlamadı.

Açıklamalar

Ekle ve bağımsız değişkenler aynı deyimkullanılamaz.

İzinler

control server izni gerektirir.

Örnekler

Aşağıdaki örnek bir olay oturumbaşlatır, bazı Canlı oturum istatistikleri ve sonra iki olay varolan oturumekler.

-- Start the event session
ALTER EVENT SESSION test_session
ON SERVER
STATE = start
GO
-- Obtain live session statistics 
SELECT * FROM sys.dm_xe_sessions
SELECT * FROM sys.dm_xe_session_events
GO

-- Add new events to the session
ALTER EVENT SESSION test_session ON SERVER
ADD EVENT sqlserver.database_transaction_begin,
ADD EVENT sqlserver.database_transaction_end
GO