Aracılığıyla paylaş


Olay bildirimleri

Olay bildirimleri göndermek için olaylarla ilgili bilgileri bir Service Brokerhizmet. Olay bildirimlerini execute yanıt olarak çeşitli Transact-SQLveri tanım dili (ddl) deyimleri ve sql izleme olayları için bu olaylar hakkında bilgi göndererek bir Service Brokerhizmet.

Olay bildirimlerini aşağıdakileri yapmak için kullanılabilir:

  • Oturum ve değişiklikleri veya veritabanı üzerinde oluşmasını etkinliğini gözden geçirin.

  • Bir zaman uyumsuz eşzamanlı bir şekilde yerine bir olay karşısında bir eylem gerçekleştirin.

Olay bildirimlerini ddl Tetikleyiciler ve sql izleme programlama bir alternatif sunar.

Olay bildirimleri faydaları

Olay bildirimleri, zaman uyumsuz olarak, bir işlem kapsamı dışında çalıştırın. Bu nedenle, ddl Tetikleyiciler, olay bildirimleri bir veritabanı uygulaması içinde hemen hareket tarafından tanımlanan tüm kaynakları kullanmadan olaylarını yanıtlamak için kullanılır.

Örneği içinde bir eylem gerçekleştirmek için olay bildirimleri kullanılabilir sql izleme, SQL Serverbir sql izleme olay.

Olay verileri ile birlikte çalışan uygulamalar tarafından kullanılabilecek SQL Serverizlemek ve kararları için. Örneğin, aşağıdaki olay bildirimini bir haber her zaman belirli bir hizmete gönderir bir ALTER TABLEdeyimi içinde verildiği AdventureWorks2012 örnek veritabanı.

USE AdventureWorks2012;
GO
CREATE EVENT NOTIFICATION NotifyALTER_T1
ON DATABASE
FOR ALTER_TABLE
TO SERVICE '//Adventure-Works.com/ArchiveService' ,
    '8140a771-3c4b-4479-8ac0-81008ab17984';

Olay bildirimleri kavramları

Olay bildirim oluşturulduğunda, bir veya daha fazla Service Brokerarasında bir örneğini konuşmaları SQL Serverve belirttiğiniz açılmış hedef hizmeti. Sunucu örneği üzerinde bir nesne olay bildirimini var sürece konuşmalar genellikle açık kalır. Olay bildirimini bırakılan önce bazı hata durumlarda konuşmaları kapatabilirsiniz. Bu konuşmaları, olay bildirimleri arasında hiçbir zaman paylaşılmaz. Her olay bildirim kendi özel konuşmaları vardır. Konuşma bitiş açıkça hedef hizmeti daha fazla ileti almanızı engeller ve konuşma olay bildirimini harekete sonraki yeniden değil.

Olay bilgileri için teslim Service Brokerhizmet türünde bir değişken olarak xmlolay, etkilenen veritabanı nesnesini hakkında gerçekleştiği hakkında bilgi sağlayan Transact-SQLtoplu raporu yer ve diğer bilgiler. Olay bildirimlerini tarafından üretilen xml şeması hakkında daha fazla bilgi için bkz: eventdata (Transact-sql).

Olay bildirimleri vs.Tetikleyicileri

Aşağıdaki tabloda, karşılaştırır ve tetikleyiciler ve olay bildirimlerini tezat.

Tetikleyicileri

Olay bildirimleri

dml Tetikleyiciler, veri düzenleme dili (dml) olaylarına yanıt. ddl Tetikleyiciler, veri tanım dili (ddl) olaylarına yanıt.

Olay bildirimlerini ddl olayları ve bir alt kümesini sql izleme olayları için yanıt.

Tetikleyiciler Transact-sql çalıştırabilir veya ortak dil çalışma zamanı (clr) yönetilen kod.

Olay bildirimlerini kodu çalıştırın. Bunun yerine, gönderdikleri xml Service Broker hizmet iletileri.

Tetikleyiciler ateşlenmesine neden hareketleri kapsamında eş zamanlı, işlenir.

Olay bildirimleri, zaman uyumsuz işleme ve yangına neden hareketleri kapsamında çalıştırmayın.

Tetikleyici tüketici sıkı ateşlenmesine neden olan olay ile birleştiğinde.

Olay bildirim tüketici ateşlenmesine neden olan olay decoupled.

Tetikleyiciler, yerel sunucu üzerinde işlenmelidir.

Uzak sunucuda olay bildirimlerini işlenebilir.

Tetikleyiciler geri alınması.

Olay bildirimlerini geri alınamaz.

dml tetikleyici şema kapsamlı adlarıdır. Sunucu kapsamı veya veritabanı kapsamlı ddl tetikleyici adları.

Olay bildirim adları, sunucu veya veritabanı kapsamına eklenir. Olay bildirimlerini QUEUE_ACTIVATION olay belirli bir sıraya kapsamına eklenir.

dml Tetikleyiciler aynı sahibi olarak hangi uygulanmadan tablolar ait.

Bir sıra olay bildirimini sahibi üzerinde uygulandığı nesnenin daha farklı bir sahip olabilir.

Tetikleyicileri desteği execute as yan tümcesi.

Olay bildirimlerini desteklemiyor execute as yan tümcesi.

ddl tetikleyici olay bilgilerini verir eventdata işlevi kullanılarak yakalanabilir bir xml veri türü.

Olay bildirimleri göndermek xml olay bilgilerini bir Service Broker hizmet. Bilgi, aynı şemaya eventdata işlevi olarak biçimlendirilir.

Tetikleyiciler hakkında meta veri içinde bulunan sys.triggers ve sys.server_triggers katalog görünümler.

Olay bildirimleri hakkında meta veri içinde bulunan sys.event_notifications ve sys.server_event_notificationsWHERE katalog görünümler.

Olay bildirimleri vs.sql izleme

Aşağıdaki tabloda, karşılaştırır ve sunucu olayları izlemek için olay bildirimleri ve sql izleme kullanma tezat.

sql izleme

Olay bildirimleri

sql izleme hareketleriyle ilişkili hiçbir performans yükü oluşturur. Ambalaj verileri etkilidir.

Performans yükü olay xml biçimli verileri oluşturma ve olay bildirimi gönderilmesi ile ilgili olduğunu.

sql izleme, herhangi bir izleme olay sınıfı izleyebilirsiniz.

Olay bildirimlerini izleme olayı sınıfları kümesini ve ayrıca tüm veri tanım dili (ddl) olayları izleyebilirsiniz.

Bir izleme olayı oluşturmak için hangi veri sütunları özelleştirebilirsiniz.

Olay bildirimlerini tarafından döndürülen olay xml biçimli verileri şema sabittir.

ddl tarafından oluşturulan izleme olayları her zaman, ister ddl deyimi döndürülüyor bakılmaksızın oluşturulur.

İlgili ddl deyiminde olay geri alınırsa, olay bildirimleri yangın değil.

Izleme olay verisi ara akışını yönetme, doldurma ve izleme dosyaları veya izleme tabloları yönetme içerir.

Orta yönetimi olay bildirim verileri otomatik olarak Service Broker sıralar gerçekleştirilir.

İzleri her zaman sunucu yeniden başlatılması gerekir.

Kayıtlı sonra olay bildirimlerini sunucu döngüsü kalıcı ve tamamlanmasını.

Sonra başlatılan, izleri atış kontrol edilemez. Durdurma süreleri ve filtre kere, ne zaman onlar başlatmak belirtmek için kullanılabilir. Izlemeler ilgili izleme dosyası yoklama tarafından erişilir.

Olay bildirimleri karşı aldığı olay bildirim tarafından oluşturulan ileti sıraya WAITFOR deyimi kullanılarak denetlenebilir. Sıra yoklama tarafından erişilebilir.

alter trace bir izleme oluşturmak için gereken en düşük izindir. İzin, ilgili bilgisayarda bir izleme dosyası oluşturmak için de gereklidir.

En az izni oluşturulan olay bildirim türüne bağlıdır. ALMA izni de ilgili sıraya tabi.

Izlemeler uzaktan alınan.

Olay bildirimlerini uzaktan alınan.

İzleme olayları, sistem saklı yordamları kullanarak uygulanır.

Olay bildirimleri uygulanan bir birleşimini kullanarak Veritabanı Altyapısıve Service Broker Transact-SQLdeyimleri.

Izleme olay verisi erişilebilir programla ilgili izleme tablo sorgulamak, izleme dosyası ayrıştırma veya kullanarak SQL ServerManagement Objects ((SMO)) TraceReader sınıf

Olay verileri XQuery karşı olay xml biçimli verileri verme, veya smo olay sınıflarını kullanarak program aracılığıyla erişilir.

Olay bildirim görevleri

Görev

Konu

Oluşturma ve olay bildirimlerini uygulamak açıklar.

Implement olay bildirimleri

Nasıl yapılandırılacağını açıklar Service Brokeriletişim güvenlik uzak sunucuda hizmet broker ileti göndermek olay bildirimlerini.

İletişim güvenliği olay bildirimleri için yapılandırma

Olay bildirimleri hakkında bilgi dönmek açıklar.

Olay bildirimleri hakkında bilgi almak

Ayrıca bkz.

Kavramlar

ddl Tetikleyicileri

dml Tetikleyicileri

sql izleme