Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Olay bildirimi uygulamak için önce olay bildirimlerini almak üzere bir hedef hizmet oluşturmanız ve ardından olay bildirimini oluşturmanız gerekir.
Önemli
Hizmet Aracısı iletişim kutusu güvenliği, uzak sunucudaki bir hizmet aracısına ileti gönderen olay bildirimleri için yapılandırılmalıdır. Diyalog güvenliği, tam güvenlik modeline göre manuel olarak yapılandırılmalıdır.
Hedef Hizmeti Oluşturma
Hizmet Aracısı olay bildirimleri için aşağıdaki özel ileti türünü ve sözleşmeyi içerdiğinden, Hizmet Aracısı başlatma hizmeti oluşturmanız gerekmez:
https://schemas.microsoft.com/SQL/Notifications/PostEventNotification
Olay bildirimleri alan hedef hizmet, bu önceden var olan sözleşmeye uymalıdır.
Hedef hizmetoluşturmak için:
İletileri almak için bir kuyruk oluşturun.
Not
Kuyruk şu ileti türünü alır:
http://schemas.microsoft.com/SQL/Notifications/QueryNotification.Kuyrukta olay bildirimleri sözleşmesine referans veren bir hizmet oluşturun.
Hizmet Aracısı'nın hizmet için ileti gönderdiği adresi tanımlamak için hizmette bir yol oluşturun. Aynı veritabanındaki bir hizmeti hedefleyen olay bildirimleri için
ADDRESS = 'LOCAL'belirtin.Not
Hizmet Aracısı yönlendirmesi, bildirim iletilerini alan hizmeti belirler. Olay bildirimi uzak sunucudaki bir hizmeti hedeflerse, iki yönlü iletişimin gerçekleştiğinden emin olmak için hem kaynak sunucunun hem de hedef sunucunun bu sunucularda tanımlanmış yolları olmalıdır.
Aşağıdaki örnek, bir kuyruk, kuyruk üzerindeki bir hizmet ve olay bildirimi sözleşmesinden gelen iletileri işlemek için hizmette bir rota oluşturur.
CREATE QUEUE NotifyQueue ;
GO
CREATE SERVICE NotifyService
ON QUEUE NotifyQueue
(
[http://schemas.microsoft.com/SQL/Notifications/PostEventNotification]
);
GO
CREATE ROUTE NotifyRoute
WITH SERVICE_NAME = 'NotifyService',
ADDRESS = 'LOCAL';
GO
Olay Bildirimi Oluşturma
Olay bildirimleri, Transact-SQL CREATE EVENT NOTIFICATION deyimi kullanılarak oluşturulur ve DROP EVENT NOTIFICATION deyimi kullanılarak kaldırılır. Bir olay bildirimini değiştirmek için olay bildirimini bırakmanız ve yeniden oluşturmanız gerekir.
Aşağıdaki örnek, CreateDatabaseNotificationolay bildirimini oluşturur. Bu bildirim, sunucuda gerçekleşen herhangi bir CREATE_DATABASE olayı hakkında daha önce oluşturulmuş NotifyService hizmetine bir ileti gönderir.
CREATE EVENT NOTIFICATION CreateDatabaseNotification
ON SERVER
FOR CREATE_DATABASE
TO SERVICE 'NotifyService', '8140a771-3c4b-4479-8ac0-81008ab17984' ;
Dikkat
Olay bildirimleri, CREATE_SCHEMA olayları ve CREATE SCHEMA deyimlerinin <schema_element> tanımlarını ayrı olaylar olarak tanır. Örneğin, hem CREATE_SCHEMA hem de CREATE_TABLE olaylarında bir olay bildirimi oluşturulur ve aşağıdaki toplu işlemi çalıştırırsınız.
CREATE SCHEMA s
CREATE TABLE t1 (col1 int)
Bu durumda, olay bildirimi iki kez oluşturulur: bir kez CREATE_SCHEMA olayı gerçekleştiğinde ve tekrar CREATE_TABLE olayı gerçekleştiğinde. hem CREATE_SCHEMA olaylarında hem de ilgili CREATE SCHEMA tanımlarının <schema_element> metinlerinde olay bildirimleri oluşturmaktan kaçınmanızı veya istenmeyen olay verilerini yakalamamak için uygulamanızda mantık oluşturmanızı öneririz.
Olay bildirimi oluşturmak için
Olay bildirimini kaldırmak için
Ayrıca Bkz.
Olay Bildirimleri hakkında bilgi edinin
EVENTDATA (Transact-SQL)