Oturum açma Tetikleyicileri

Oturum açma Tetikleyiciler ateşlenmesine saklı yordamlar yanıt olarak bir oturum açma olay.Bu olay, kullanıcı oturum ile örnek oluşturulduğunda oluşturulur SQL Server.Bitmez oturum kimlik doğrulaması aşamasını sonra oturum açma Tetikleyiciler ateşlenmesine, ancak önce kullanıcı oturumu aslında oluşturulur.Bu nedenle, tüm iletileri genelde hata iletileri ve baskı gelen iletileri gibi kullanıcı kaynaklandığından tetikleyici içinde kaynaklanan deyim, için yolu saptırabilir SQL Server hata Kütük'ükimlik doğrulaması başarısız olursa, oturum açma Tetikleyiciler ateşlenmesine.

Denetim ve denetim sunucusu oturumları için oturum açma tetikleyici gibi oturum açma etkinliğini izleme tarafından oturumları için sınırlama kullanabilirsiniz SQL Server, veya oturumları için belirli bir oturum açma. sayısını sınırlamaÖrneğin, aşağıdaki kodda girişimleri de günlük oturum açma tetikleyici vermez SQL Server oturum açma tarafından başlatılan login_test vardır zaten üç kullanıcı oturumları oluşturduğu bu oturum açma.

USE master;
GO
CREATE LOGIN login_test WITH PASSWORD = '3KHJ6dhx(0xVYsdf' MUST_CHANGE,
    CHECK_EXPIRATION = ON;
GO
GRANT VIEW SERVER STATE TO login_test;
GO
CREATE TRIGGER connection_limit_trigger
ON ALL SERVER WITH EXECUTE AS 'login_test'
FOR LOGON
AS
BEGIN
IF ORIGINAL_LOGIN()= 'login_test' AND
    (SELECT COUNT(*) FROM sys.dm_exec_sessions
            WHERE is_user_process = 1 AND
                original_login_name = 'login_test') > 3
    ROLLBACK;
END;

Oturum açma olay kullanılabilir AUDIT_LOGIN sql izleme olay için karşılık gelen Not olay bildirimlerini.Zaman uyumsuz olay bildirimlerini tetikleyici olay bildirimleri arasındaki birincil fark tetikleyici olaylar ile eş zamanlı olarak ortaya dır.Bu, örneğin, bir oturumu kurulmasını durdurmak istiyorsanız, oturum açma tetikleyici kullanmanız gerekir anlamına gelir.AUDIT_LOGIN olayında bir olay bildirim, bu amaç için kullanılamaz.

Oturum açma tetikleyici olay verileri yakalama

Oturum açma tetikleyici içinde kullanmak için oturum açma olayları hakkında xml verilerini yakalamak için kullanmak eventdata işlev.Daha fazla bilgi için bkz: Tasarlama ve uygulama yapılandırılmış depolama (veritabanı altyapısı).Oturum açma olay aşağıdaki olay veri şemasını döndürür:

<EVENT_INSTANCE>

    <EventType>event_type</EventType>

    <PostTime>post_time</PostTime>

    <SPID>spid</SPID>

    <ServerName>server_name</ServerName>

<LoginName>login_name</LoginName>

<LoginType>login_type</LoginType>

<SID>sid</SID>

<ClientHost>client_host</ClientHost>

<IsPooled>is_pooled</IsPooled>

</EVENT_INSTANCE>

  • <EventType>
    İçeren LOGON.

  • <PostTime>
    Ne saat oturum kurulması istenen saati içerir.

  • <SID>
    Temel 64 ile kodlanmış ikili akış güvenlik kimlik numarası (SID) için belirtilen oturum açma adını içerir.

  • <ClientHost>
    Ana bilgisayar adını içeren istemci gelen bağlantı burada yapılır.Değer '&lt;local_machine&gt;' istemci ve sunucu adı aynıysa.Aksi durumda, istemci IP adresi değerdir.

  • <IsPooled>
    İş 1 , bağlantı bağlantı havuzu kullanarak yeniden.Aksi halde, değeri olan 0.

Oluşturma, değiştirme ve oturum açma tetikleyici siliniyor

Oturum açma Tetikleyiciler herhangi bir veritabanı oluşturulur, ancak sunucuda kayıtlı düzey bulunması ve ana veritabanı.

Oturum açma tetikleyici oluşturmak için

Oturum açma tetikleyici değiştirmek için

Oturum açma tetikleyici bırakmak için

Oturum açma tetikleyiciler hakkında bilgi alma

Oturum açma tetikleyiciler hakkında meta veriler sorgulayarak görüntülemek sys.server_triggers Katalog görünümü.