Aracılığıyla paylaş


Olay oturum (Transact-SQL) ALTER

Başlatır veya bir olay oturumunu sona erdirir ya da bir olay oturum yapılandırma değişiklikleri

Topic link iconTransact-SQL sözdizimi kuralları

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

Terim

Tanım

event_session_name

Varolan bir olay oturum adıdır.

DURUM = START | STOP

Başlatır veya durdurur olay oturum.ALTER olay SESSION olay oturum nesneye uygulandığında bu bağımsız değişkeni, yalnızca geçerli olur.

ADD olay<event_specifier>

Tanımlanan olay ilişkilendirir<event_specifier>olay oturum.

[event_module_guid].event_package_name.event_name

Bir olay paketindeki bir olay adıdır; burada:

  • event_module_guid içeren modülü için GUID olay.

  • event_package_name olan paket, işlem nesnesi içerir.

  • event_namedurumda olay nesnesi.

Olaylar, object_type 'olay' sys.dm_xe_objects görünümünde görünür.

küme {event_customizable_attribute=<value> ,...n] }

Olay için özelleştirilebilir özniteliklerini belirtir.Özelleştirilebilir öznitelikleri sys.dm_xe_object_columns görünümde görünür 'özelleştirilebilir' column_type ve object_name =event_name.

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

Eylem olay oturum ile ilişkilendirmek için burada:

  • event_module_guid içeren modülü için GUID olay.

  • event_package_name olan paket, işlem nesnesi içerir.

  • action_name Eylem nesnesidir.

Eylemleri object_type 'eylem' sys.dm_xe_objects görünümünde görüntülenir.

WHERE<predicate_expression>

Olay, işleneceğini belirlemek için kullanılan koşul ifade belirler.If<predicate_expression>doğru olay işlenir, başka eylemler ve hedef oturum.If<predicate_expression>false, olay şu anda işlenen eylemler ve hedef oturum. önce oturumu tarafından iptalDoðrulama deyimleri, dize değişkenleri sınırlar 3000 karakterle sınırlıdır.

event_field_name

Adı olay alan tanıtan doðrulama kaynak.

[event_module_guid].event_package_name.predicate_source_name

Doðrulama genel kaynak adı burada:

  • event_module_guid içeren modülü için GUID olay.

  • event_package_name Doðrulama nesneyi içeren pakettir.

  • predicate_source_name object_type 'pred_source' tanımlanan sys.dm_xe_objects görünümü

[event_module_guid].event_package_name.predicate_compare_name

Olay ile ilişkilendirmek için doðrulama nesnenin adıdır; burada:

  • event_module_guid içeren modülü için GUID olay.

  • event_package_name Doðrulama nesneyi içeren pakettir.

  • predicate_compare_name bir genel kaynağı sys.dm_xe_objects görünümde object_type 'pred_compare' tanımlanır.

Olay DROP<event_specifier>

Drops the event identified by <event_specifier>.<event_specifier> must be valid in the event session.

ADD hedef<event_target_specifier>

Tanımlanan hedef ilişkilendirir<event_target_specifier>olay oturum.

[event_module_guid].event_package_name.target_name

Olay oturumda hedefinin adıdır; burada:

  • event_module_guid içeren modülü için GUID olay.

  • event_package_name olan paket, işlem nesnesi içerir.

  • target_name eylemdir.Eylemleri object_type 'hedef' sys.dm_xe_objects görünümünde görüntülenir.

küme {target_parameter_name=<value> ,...n] }

Hedef parametresini ayarlar.Hedef parametre sys.dm_xe_object_columns görünümde görünür 'özelleştirilebilir' column_type ve object_name =target_name.

Important noteImportant Note:
Halka arabelleği hedef kullanıyorsanız, max_memory target parametresi 2048 kilobayt (KB) XML çıktısı, olası veri kesme önlemeye yardımcı olmak için ayarlamanız önerilir.Ne zaman farklı hedef türü kullanmak için bkz: ilgili daha fazla bilgiOlayları TARGETS genişletilmiş SQL Server.

Hedef DROP<event_target_specifier>

Drops the target identified by <event_target_specifier>.<event_target_specifier> must be valid in the event session.

EVENT_RETENTION_MODE = {ALLOW_SINGLE_EVENT_LOSS | ALLOW_MULTIPLE_EVENT_LOSS | NO_EVENT_LOSS}

Kayıp olay işleme için olay koruma modu belirtir.

ALLOW_SINGLE_EVENT_LOSS

Gelen bir olayı kaybolabilir oturum.Tek bir olay olay arabelleği dolduğunda yalnızca bırakılır.Tek bir olay olduğunda olay arabelleği tam kaybı sağlar için kabul edilebilirSQL Serverişlenen olay akışı. veri kaybı en aza indirme sırasında performans özellikleri

ALLOW_MULTIPLE_EVENT_LOSS

Birden çok olay içeren tam olay arabelleği oturumdan kaybolabilir.Bellek ve olayları arabellek boyutunu bölümleme oturum için ayrılan bellek boyutunu sırasında kaybedilen olay sayısı bağlıdır.Olay arabelleği hızlı bir şekilde doldurulur, ancak çok sayıda olay gelen kayıp olabilir, bu seçenek sunucu performansına etkisi azaltır oturum.

NO_EVENT_LOSS

Hiçbir olay zarar verilir.Bu seçenek, geçirilen tüm olayları korunacak sağlar.Bu seçeneği kullanarak bir olay arabellek kullanılabilir alan kadar olayları harekete tüm görevleri zorlar.Bu olay oturum etkin durumdayken, sıradan performans sorunlarına neden olabilir.Kullanıcı bağlantılarını olaylarını arabelleğe temizlendi beklenirken yavaşlamayı.

MAX_DISPATCH_LATENCY = { secondsSECONDS | değer}

Olayları arabelleğe alınmış saat olay oturum hedefe gönderilen önce bellekte belirtir.En düşük gecikme süresi değerini 1 saniyedir.Ancak, 0 değer gecikmeyi belirtmek için kullanılır.Varsayılan olarak bu değer 30 saniyeye ayarlanmıştır.

secondsSECONDS

The time, in seconds, to wait before starting to flush buffers to targets.seconds is a whole number.

SONSUZ

Yalnızca arabellekleri dolu olabilir veya zaman hedeflerine arabelleği Temizleme olayı oturum kapatır.

NoteNote:
MAX_DISPATCH_LATENCY 0 SECONDS = MAX_DISPATCH_LATENCY için eşittir = SONSUZ.

MAX_EVENT_SIZE =size[ KB | MB ]

Olaylar için izin verilen en büyük boyutunu belirtir.MAX_EVENT_SIZE should only be set to allow single events larger than MAX_MEMORY; setting it to less than MAX_MEMORY will raise an error.size is a whole number and can be a kilobyte (KB) or a megabyte (MB) value.Ifsizebelirtilen kilobayt cinsinden izin verilen en küçük boyut 64 KB.Zaman MAX_EVENT_SIZE küme veya olan iki arabelleksizeek olarak oluşturulur 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 arabelleği oluşturulduğu konumu belirtir.

Yok.

Tek küme arabellek içinde oluşturulanSQL Serverörnek.

PER_NODEA küme arabellekleri her NUMA düğümü için oluşturulur.Daha fazla bilgi için bkz:Disk tekdüze bellek erişimi'ni anlama.
PER_CPUA küme arabellekleri her CPU için oluşturulur.

TRACK_CAUSALITY ={ ON | OFF }

Causality izleneceğini belirtir.Etkin causality ilgili olaylar birlikte ilişkili için başka bir sunucuya bağlantı sağlar.

STARTUP_STATE ={ ON | OFF }

Başlatmak bu olay oturum otomatik olarak ne zaman mi belirtirSQL Serverbaşlar.

NoteNote:
, STARTUP_STATE, ON, olay oturum olacak yalnızca başlangıç =SQL Serverdurdurulur ve yeniden başlatılır.
TerimTanım
AÇIKOlay oturum başlatma işlemi sırasında başlatılır.
KapalıOlay oturum başlatma işlemi sırasında başlatılır.

Remarks

ADD ve DROP bağımsız değişkenler aynı kullanılamaz deyim.

İzinler

SERVER CONTROL iznine gerek duyar.

Örnekler

Aşağıdaki örnek bir olay oturumu başlatır, bazı Canlı oturum istatistiklerini alır ve sonra varolan oturuma iki olay ekler.

-- 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

Değişiklik Geçmişi

Güncelleştirilmiş içerik

MAX_DISPATCH_LATENCY bağımsız değişkeni için varsayılan değer olarak düzeltildi.

Eklenen önemli Not küme açıklamasını { target_parameter_name= <değeri >,... n]}.