alter olay SESSION (Transact-sql)

Başlatır veya durdurur olay oturumu veya bir olay oturum yapılandırmasını değiştirir.

Konu bağlantısı simgesi Transact-SQL Sözdizim 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

Terim

Tanım

event_session_name

Varolan olay oturumu addır.

Devlet = Başlat | DURDUR

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

OLAY ekleme <event_specifier>

Tarafından tanımlanan olay ilişkilendirir <event_specifier>olay oturumu ile.

[event_module_guid].event_package_name.event_name

Olay bir olay paket adı burada:

  • event_module_guidetkinlik içeren modülün GUID'sidir.

  • event_package_nameEylem nesne içeren pakettir.

  • event_nameolay nesnesidir.

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

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

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

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

Olay oturumu ile ilişkilendirmek için eylem nerede:

  • event_module_guidetkinlik içeren modülün GUID'sidir.

  • event_package_nameEylem nesne içeren pakettir.

  • action_nameEylem nesnesidir.

Eylemler görünür sys.dm_xe_objectsgörünüm olarak object_type'eylem'.

Burada <predicate_expression>

Olay işleneceğini belirlemekte kullanılan Koşul ifadesi belirtir. Eğer <predicate_expression> olayı işlenir doğru eylem ve hedefleri oturumu tarafından. Eğer <predicate_expression> olay bırakılan oturum için eylem ve hedefleri tarafından işlenen önce oturumu tarafından yanlıştır. Doğrulama deyimleri dizesi değişkenleri sınırlar 3000 karakter ile sınırlıdır.

event_field_name

Koşul kaynağını tanımlayan olay alan adıdır.

[event_module_guid].event_package_name.predicate_source_name

Genel koşul kaynak adı burada:

  • event_module_guidetkinlik içeren modülün GUID'sidir.

  • event_package_nameyüklem nesne içeren pakettir.

  • predicate_source_nametanımlanan sys.dm_xe_objectsgörünüm olarak object_type 'görüntüleme'.

[event_module_guid].event_package_name.predicate_compare_name

Olayla ilişkilendirmek yüklem nesnenin adıdır nerede:

  • event_module_guidetkinlik içeren modülün GUID'sidir.

  • event_package_nameyüklem nesne içeren pakettir.

  • predicate_compare_namebir genel kaynağı tanımlanır sys.dm_xe_objectsgörünüm olarak object_type'pred_compare'.

DROP ekleme <event_specifier>

Tarafından tanımlanan olay damla <event_specifier>. <event_specifier> olay oturumu geçerli olması gerekir.

Hedef Ekle <event_target_specifier>

Tanımlanan hedef associates <event_target_specifier>olay oturumu ile.

[event_module_guid].event_package_name.target_name

Olay oturumu hedef addır nerede:

  • event_module_guidetkinlik içeren modülün GUID'sidir.

  • event_package_nameEylem nesne içeren pakettir.

  • target_nameeylemdir. Eylemler görünür sys.dm_xe_objectsgörünüm olarak object_type'hedef'.

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

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

Önemli notÖnemli
Halka arabelleği hedef kullanıyorsanız, size ayarlamanızı öneririz max_memoryparametresi için 2048 kilobayt (kb) olası veri kesilmesi xml çıkışı önlemek için hedef.Farklı hedef türleri kullanma hakkında daha fazla bilgi için bkz: SQL Server Genişletilmiş olayları hedefleri.

Hedef Ekle <event_target_specifier>

Tanımlanan hedef damla <event_target_specifier>. <event_target_specifier> olay oturumu geçerli olması gerekir.

EVENT_RETENTION_MODE = { ALLOW_SINGLE_EVENT_LOSS | ALLOW_MULTIPLE_EVENT_LOSS | NO_EVENT_LOSS}

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

ALLOW_SINGLE_EVENT_LOSS

Olay oturumu bağlantısını kaybetmiş olabilir. Olay arabellekleri dolu olduğunda tek bir olay sadece bırakılır. Olay arabellekleri dolu olduğunda tek bir olay kaybetme bırakmak için kabul edilebilir SQL Serverve işlenmiş olay akışındaki veri kaybını en aza indirirken performans karakteristikleri,.

ALLOW_MULTIPLE_EVENT_LOSS

Birden çok olay içeren tam olay arabellekleri oturumdan kaybolabilir. Kayıp olay sayısı, bellek ve olayları arabellek boyutunu bölümleme oturumu için ayrılan bellek boyutu bağlıdır. Bu seçeneği, olay arabellekleri hızla doldurulur, ancak olaylar çok sayıda oturum bağlantısını kaybetmiş olabilir sunucu üzerindeki performans etkisini en aza indirir.

NO_EVENT_LOSS

Hiçbir olay kaybı verilir. Bu seçeneği, tüm olayları, yükseltilmiş korunacak sağlar. Bu seçeneği kullanarak bir olay arabellek kullanılabilir alan beklemek olayları yangın tüm görevleri zorlar. Olay oturumu etkin durumdayken bu algılanabilir performans sorunlarına neden olabilir. Kullanıcı bağlantılarını olaylar Arabelleğin temizlenip beklerken durak.

MAX_DISPATCH_LATENCY = { secondssaniye | Sonsuz }

Olaylarını arabelleğe süreyi, olay oturum hedefleri için dağıtılan önce bellekte belirtir. Düşük gecikme süresi değerini 1 saniyedir. Ancak, 0 sonsuz gecikmeyi belirtmek için kullanılır. Varsayılan olarak bu değer 30 saniyeye ayarlanmıştır.

secondsSANİYE

Arabellekleri hedefleri temizleme başlamadan önce beklenecek saniye cinsinden süre. secondsbir tam sayıdır.

SONSUZ

Yalnızca arabellekleri dolu olduğunda veya olay oturumu 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

Olaylara izin verilen boyut üst sınırını belirtir. MAX_EVENT_SIZE yalnızca tek olaylar max_memory daha büyük izin ayarlamanız gerekir; Bunun için max_memory bir hata yükseltmek daha az ayarlama. sizetam sayı ve kilobayt (kb) veya megabayt (mb) değeri olabilir. Eğer sizebelirtilen kilobayt cinsinden en az izin verilen boyutu 64 KB'dir. MAX_EVENT_SIZE ayarlandığında, iki arabellekleri sizemax_memory yanı sıra oluşturulur. Bu olay arabelleğe alma için kullanılan toplam bellek max_memory + 2 demektir * MAX_EVENT_SIZE.

MEMORY_PARTITION_MODE = { yok | PER_NODE | PER_CPU}

Olay arabellekleri oluşturulduğu konumu belirtir.

NONE

Tek arabellekleri kümesi içinde oluşturulur SQL Serverörneği.

PER_NODEArabellekleri kümesi, her numa düğüm için oluşturulur.
PER_CPUArabellekleri kümesi her cpu için oluşturulur.

TRACK_CAUSALITY = {on | OFF }

Nedensellik izlenir olup olmadığını belirtir. Etkinleştirilirse, nedensellik ilgili olayları birbirine korelasyon için farklı bir sunucu bağlantıları sağlar.

startup_state = {on | OFF }

Bu olay oturumu otomatik olarak başladığında olup olmadığını belirtir SQL Serverbaşlar.

NotNot
Eğer startup_state = on, olay oturumu olacak sadece başlangıç, SQL Serverdurdurulur ve yeniden başlatılır.
TerimTanım
ONBaşlangıçta olay oturum başlatılır.
OFFBaşlangıçta olay oturum başlamadı.

Açıklamalar

add ve drop bağımsız değişkenleri aynı deyiminde kullanılamaz.

İzinler

alter any event oturum izni gerektirir.

Örnekler

Aşağıdaki örnek olay oturumu başlatır, bazı canlı oturum istatistikleri ve sonra iki olay varolan oturuma 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

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

Ayrıca bkz.

Başvuru

OLAY SESSION (Transact-sql) oluştur

drop olay SESSION (Transact-sql)

sys.server_event_sessions (Transact-sql)

sys.dm_xe_objects (Transact-sql)

sys.dm_xe_object_columnsWHERE (Transact-sql)

Kavramlar

SQL Server Genişletilmiş olayları hedefleri