Udostępnij za pośrednictwem


Opis powiadomienia o zdarzeniach

Powiadomienia o zdarzeniach wykonać w odpowiedzi na różne Transact-SQL instrukcji języka (DDL) definicja danych i zdarzeń śledzenia SQL przez wysyłanie informacji o tych zdarzeniach do Service Broker usługa.

Powiadomienia o zdarzeniach można wykonać następujące czynności:

  • Zaloguj się i przejrzeć zmiany lub działanie występujące w bazie danych.

  • Wykonanie akcja w odpowiedzi na zdarzenie w asynchronicznej zamiast w sposób synchroniczny.

Powiadomienia o zdarzeniach można zaoferować programowania alternatywę dla Wyzwalacze DDL i śledzenia SQL.

Powiadomienia o zdarzeniach uruchamiane asynchronicznie, poza zakres transakcji.Dlatego w przeciwieństwie do Wyzwalacze DDL powiadomień o zdarzeniach można wewnątrz aplikacji bazy danych do reagowania zdarzenie bez korzystania z zasobów określonych przez bezpośrednich transakcji.Aby uzyskać więcej informacji, zobacz Opis vs powiadomień o zdarzeniach. Wyzwalacze.

W przeciwieństwie do śledzenia SQL powiadomień o zdarzeniach służą do wykonywania akcja wewnątrz wystąpienie z SQL Server w odpowiedzi na zdarzenie śledzenia SQL.Aby uzyskać więcej informacji, zobacz Opis vs powiadomień o zdarzeniach. Śledzenia SQL.

Gdy powiadomienie o zdarzeniu jest tworzony jeden lub więcej Service Broker konwersacji między wystąpienie SQL Server i usługa miejsce docelowe określ, są otwierane.Konwersacje zazwyczaj pozostają otwarte jak powiadomienie o zdarzeniu istnieje jako obiekt na serwerze wystąpienie.W niektórych przypadkach błąd konwersacji można zamknąć przed powiadomienie o zdarzeniu jest odrzucany.Konwersacje te nigdy nie są współużytkowane zdarzenie powiadomienia.Każdy powiadomienie o zdarzeniu ma własny wyłączne konwersacji.Kończenie konwersacji jawnie uniemożliwia odbiera więcej wiadomości usługa miejsce docelowe i konwersacji nie zostanie ponownie następnego czas pożarów zdarzenia powiadamiania.

Informacje dotyczące zdarzeń jest dostarczana do Service Broker jako zmienna typu xml , zawiera informacje o po wystąpieniu zdarzenie dotyczące obiektu bazy danych, wpływ, Transact-SQL partia instrukcja i innych informacji.Aby uzyskać więcej informacji o schemacie XML, produkowane przez zdarzenie powiadomienia, zobacz EVENTDATA (Transact-SQL).

Dane zdarzenia mogą być używane przez aplikacje uruchomione wraz z SQL Server Śledzenie postępu i decyzje.Na przykład następujące powiadomienie o zdarzeniu do niektórych usług wysyła zawiadomienia co czas ALTER TABLE jest wydane w AdventureWorks2008R2 przykładowej bazy danych.

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

Przykładowy skrypt powiadomienia zdarzenie uruchamiające przeciwko AdventureWorks2008R2 Przykładowa baza danych, EventNotificationSample.sql, znajduje się w SQL ServerPrzykładowe aparat bazy danych.