Aracılığıyla paylaş


Olay bildirimleri tasarlama

olay bildirim tasarlamak için aşağıdakileri belirlemeniz gerekir:

  • Bildirim kapsam.

  • The Transact-SQL statement, or group of statements, that raises the event notification.

Not

Olay bildirimleri, yerel veya genel geçici tablolar ve saklı yordamlar etkileyen olaylarına yanıt olarak ortaya.

Bildirim kapsamı tanımlama

Bir olay bildirim yanıt geçerli veritabanındaki tüm nesneler veya tüm nesneler üzerinde yapılan bir deyim olarak gerçekleşmesi için belirttiğiniz bir örnek , SQL Server.QUEUE_ACTIVATION ve BROKER_QUEUE_DISABLED olaylar üzerinde belirtilen olay bildirimleri için ayrı ayrı sıralar kapsamına eklenir.Herhangi bir kapsam olaylar ortaya çıkabilir.create_database olayları, örnekn, yalnızca sunucu örnek meydana gelebilir düzey.Tam tersine, alter_table olay üzerinde oluşturulan olay bildirim veritabanındaki tüm tabloları veya sunucudaki tüm tabloları üzerinde gerçekleşmesi için programlanabilir örnek.

Aşağıdaki örnek herhangi bir bildirim gönderir ALTER TABLE deyim server örneği çalıştırın Service Broker örneği geçerli veritabanı.

CREATE EVENT NOTIFICATION log_ddl1 
   ON SERVER 
   FOR ALTER_TABLE 
   TO SERVICE '//Adventure-Works.com/ArchiveService' , 'current database';

Bağlar Transact-SQL ifadeleri ve bunlar için belirtilebilen kapsamları sağlanan "seçme bir belirli ddl bildirimi için Yükselt bir olay bildirimi" bölümünde izler.

Transact-sql deyimini veya deyimlerini grubu belirtme

Yanıt olarak aşağıdaki gerçekleşmesi için olay bildirimleri oluşturulabilir:

  • Belirli ddl deyim, sql izleme olay veya Service Broker olay

  • Önceden tanımlanmış bir grup ddl deyimleri veya sql izleme olayları

Seçme bir belirli ddl deyimi bir olay bildirimi Yükselt

Olay bildirimleri tasarlanmış belirli bir sonra gerçekleşmesi için Transact-SQL deyim veya saklı yordam olan çalışma.Sonra önceki örnekte gösterildiği gibi bu olay bildirim oluşur bir ALTER_TABLE olay.

Kişi listesi için Transact-SQL bir olay bildirimni oluşturmak için belirtilen ifadeleri ve kapsam , bildirimleri yürütebilmesi için, bkz: ddl olayları.Bu olaylar da sorgulayarak elde edilebilir sys.event_notification_event_types Katalog görünümü.

Not

Bazı sistem saklı yordamları gerçekleştiren ddl benzeri işlemlerinin can da yangın olay bildirimleri.Olay bildirimlerini çalışan sistem saklı yordamları verdikleri yanıtlar belirlemek için sınayın.Örneğin, create type deyim ve sp_addtype saklı yordam hem de harekete create_type olayda oluşturulan bir olay bildirim.

Bir olay bildirimini oluşturmak için belirli bir sql izleme olay seçme

Olay bildirimlerini sql izleme olay gerçekleştikten sonra baþlatmak için tasarlanmış olabilir.Örneğin, aşağıdaki olay bildirim, sonra harekete bir Object_Created olay sunucu.

CREATE EVENT NOTIFICATION log_ddl1 
   ON SERVER 
   FOR Object_Created 
   TO SERVICE '//Adventure-Works.com/ArchiveService', 'current database' ;

Olay bildirim Yükselt sql izleme olayları listesi için bkz: Olay bildirimleri ile kullanılmak üzere olayları izleme.Sorgulayarak bu olayların bir listesini edinebilirsiniz sys.event_notification_event_types Katalog görünümü.sql izleme olayları sırasında yalnızca sunucu örnek çalıştırılabilir kapsam.sql izleme olay sınıfları hakkında daha fazla bilgi için bkz: sql Server Profiler başvurusu.

Olay bildirimi Yükselt için Hizmet Aracısı olay seçme

Olay bildirimleri tasarlanmış bir QUEUE_ACTIVATION veya BROKER_QUEUE_DISABLED sonra baþlatmak için Service Broker olay.İletileri işlemek için bir sırası vardır QUEUE_ACTIVATION olay oluşur.Daha fazla bilgi için bkz: Olay tabanlı etkinleştirme.Sıra durumu olduğunda BROKER_QUEUE_DISABLED olay ortaya küme off için.Daha fazla bilgi için bkz: Poison iletileri işleme.

Olay bildirimi Yükselt ddl ifadelerden önceden tanımlanmış grup seçme

olay bildirim sonra oluşabilir Transact-SQL benzer olayların önceden tanımlanmış gruplandırma ait olaydır Çalıştır.Örneğin, create table, alter table ve drop table deyim yürütüldükten sonra gerçekleşmesi için olay bildirim istiyorsanız, olay BİLDİRİMİNİ oluşturmak deyiminde for ddl_table_events belirtebilirsiniz.Olay BİLDİRİMİNİ oluşturmak çalıştırdıktan sonra Olay grubu eklenir sys.events Katalog görünümü.

Not

De SQL Server 2005, sys.events bir grup tarafından ele tek tek olayları listeleyerek olay grupları genişletir.Bu nedenle, olayları yapılan değişiklikler kapsamında olay grupları tarafından SQL Server 2008 Bu olay grupları üzerinde oluşturulan olay bildirimleri için uygulama SQL Server 2005.

Olay bildirimlerini kaplayacağını belirli ifadeleri ve bu olay grupları olabilir, kapsam için kullanılabilir ddl ve dml deyimlerinin önceden tanımlı gruplar listesi için yürütmek, bkz: ddl olay grupları.

sql izleme olayları için olay bildirimi Yükselt, önceden tanımlanmış bir grup seçme

olay bildirim bir öntanımlı ait tüm sql izleme olay sonrasında ortaya çıkabilir gruplandırma olaylar benzer izlemesi çalıştırın.Bir olay bildirimni, lock_deadlock, LOCK_DEADLOCK_CHAIN, LOCK_ESCALATION ve deadlock_graph olayları içeren herhangi bir kilitleme ile ilgili İzleme olayı gerçekleşmesini istiyorsanız, örneğin, için trc_locks oluşturmak Olay bildirimnde belirtebileceğiniz deyim.

Olay bildirimleri için kullanılabilecek sql izleme olayları önceden tanımlı gruplar listesi için bkz: Olay bildirimleri ile kullanmak için olay grupları izleme.Bu gruplar yalnızca sunucu örnek yürütebilmesi için düzey.