Implementowanie powiadomień o zdarzeniach
Do wykonania powiadomienie o zdarzeniu, należy najpierw utworzyć usługa miejsce docelowe do odbierania powiadomienie o zdarzenius, a następnie utworzyć powiadomienie o zdarzeniu.
Ważne: |
---|
Service Broker okno dialogowe zabezpieczeń, należy skonfigurować dla zdarzenie powiadomienia, które wysyłają wiadomości do usługa broker na serwerze zdalnym.Okno dialogowe zabezpieczeń musi być skonfigurowany ręcznie, zgodnie z modelem Zabezpieczenia pełne.Aby uzyskać więcej informacji, zobacz Okno dialogowe zabezpieczeń powiadomień o zdarzeniach. |
Tworzenie usługi docelowej
Nie trzeba tworzyć Service Broker-inicjacji usługa, ponieważ Service Broker zawiera następujący typ komunikatu oraz kontrakt dla zdarzenie powiadomienia:
https://schemas.microsoft.com/SQL/Notifications/PostEventNotification
usługa miejsce docelowe, który odbiera zdarzenie powiadomienia muszą przestrzegać istniejące kontrakt.
Tworzenie usługa miejsce docelowe:
Utworzyć kolejkę do odbierania wiadomości.
Ostrzeżenie
Kolejka otrzymuje następujący typ komunikatu: https://schemas.microsoft.com/SQL/Notifications/QueryNotification.
Tworzenie usługa na kolejkę, która odwołuje się do kontrakt zdarzenie powiadomienia.
Utworzenie trasa na usługa, aby zdefiniować adres, do której Service Broker wysyła komunikaty do usługa.Powiadomień o zdarzeniach, miejsce docelowe usługa w tej samej bazie danych, określ ADDRESS = 'LOCAL'.
Ostrzeżenie
Service Broker Routing Określa usługa, która odbiera powiadomienie wiadomości.Jeśli powiadomienie o zdarzeniu celów usługa na serwerze zdalnym serwerze źródłowym i serwer miejsce docelowe muszą mieć zdefiniowane na nich upewnij się, że występuje dwustronną komunikację trasy.Aby uzyskać więcej informacji, zobacz Service Broker routingu.
Poniższy przykład tworzy kolejki i trasa usługi obsługi wiadomości z kolejki, usługa powiadomienie o zdarzeniu kontrakt.
CREATE QUEUE NotifyQueue ;
GO
CREATE SERVICE NotifyService
ON QUEUE NotifyQueue
(
[https://schemas.microsoft.com/SQL/Notifications/PostEventNotification]
);
GO
CREATE ROUTE NotifyRoute
WITH SERVICE_NAME = 'NotifyService',
ADDRESS = 'LOCAL';
GO
Aby uzyskać więcej informacji na temat tworzenia Service Broker miejsce docelowe usługi, zobacz Zalety programowania przy użyciuService Broker.
Tworzenie powiadomienie o zdarzeniu
Powiadomienia o zdarzeniach są tworzone za pomocą Transact-SQL instrukcja tworzenia powiadomienie o zdarzeniu i są opuszczane za pomocą instrukcja DROP powiadomienie o zdarzeniu.Aby zmodyfikować powiadomienie o zdarzeniu, należy usunąć i odtworzyć powiadomienie o zdarzeniu.
Poniższy przykład tworzy powiadomienie o zdarzeniu CreateDatabaseNotification.Powiadomienie to wysyła komunikat o CREATE_DATABASE zdarzenie występującego na serwerze, aby NotifyService usługa, który został wcześniej utworzony.
CREATE EVENT NOTIFICATION CreateDatabaseNotification
ON SERVER
FOR CREATE_DATABASE
TO SERVICE 'NotifyService', '8140a771-3c4b-4479-8ac0-81008ab17984' ;
Przestroga |
---|
Powiadomienia o zdarzeniach rozpoznaje zdarzeń CREATE_SCHEMA i <schema_element> Definicje instrukcje tworzenia SCHEMATU jako osobne zdarzenia.Na przykład powiadomienie o zdarzeniu jest tworzony zdarzenie zarówno CREATE_SCHEMA jak i CREATE_TABLE i uruchom następujące partia. CREATE SCHEMA s CREATE TABLE t1 (col1 int) W takim przypadek powiadomienie o zdarzeniu jest wywoływane dwa razy: Onne czas po wystąpieniu zdarzenia CREATE_SCHEMA i ponownie po wystąpieniu zdarzenia CREATE_TABLE.Zaleca się, że można albo uniknąć tworzenia zdarzenie powiadomienia zdarzenie CREATE_SCHEMA i <schema_element> Teksty odpowiadające im definicje tworzenie SCHEMATU, ani kompilacji logiki do aplikacji, aby uniknąć przechwytywanie danych niepożądanych zdarzeń. |
Aby utworzyć zdarzeniepowiadomienie
Aby usunąć zdarzeniepowiadomienie