Kwerendy powiadomień
Kwerenda powiadomienie zawiera wiadomości XML.Każda wiadomość zawiera przyczyny utworzenia wiadomości i komunikat z powiadomieniem uwzględniane podczas tworzenia powiadomienie.
Atrybuty na QueryNotification element zidentyfikować przyczynę wiadomości podczas komunikat element zawiera identyfikator powiadomienie dla subskrypcja.Na przykład pokazany poniżej dokumentu XML jest pełnej kwerendy powiadomienie wiadomości sformatowany dla czytelności:
<qn:QueryNotification
xmlns:qn="https://schemas.microsoft.com/SQL/Notifications/QueryNotification"
Type="change" Source="data" Info="insert">
<qn:Message>http://mysite.microsoft.com/catalog.aspx?Category=Cars</qn:Message>
</qn:QueryNotification>
Ta kwerenda powiadomienie wiadomości zgłasza, że instrukcja INSERT zmienione dane subskrypcja z wiadomością, "http://mysite.microsoft.com/catalog.aspx?Kategoria = samochodów ".
Ostrzeżenie
Ponieważ powiadomienie jest dostarczane jako dokument XML Aparat baz danych wypływa znaków, które są nieprawidłowe w dokumencie XML.Na przykład, jeśli wiadomości przesłane z subskrypcja zawiera znak <, XML zwróconych wypływa ten znak do <.
The following tables list the values for each attribute.SQL Server only produces certain combinations of attributes.Na przykład ponieważ typu z zmienić wymaga, że subskrypcja została utworzona, typu z zmienić nigdy nie jest połączone z źródło z Instrukcja.
Kwerendy powiadomienie dzielą się na dwa główne typy przy użyciu wartości typu atrybut.Aby wskazać, że wyniki kwerendy uległy zmianie, Aparat baz danych tworzy wiadomość typu zmienić.Aby wskazać, że subskrypcja żądania nie powiodło się, Aparat baz danych tworzy wiadomość typu Subskrybuj.Wartości innych atrybutów wskazać dokładne przyczyny SQL Server tworzona wiadomość.
Zmienianie wiadomości
Jeżeli wystąpią zmiany mogą wpływać na wyniki kwerendy, SQL Server generuje komunikat typu zmienić.W poniższej tabela opisano komunikaty zmiany:
Źródło |
Info |
Opis |
|---|---|---|
dane |
obciąć |
Jeden lub więcej tabel w kwerendzie została obcięta. |
dane |
Wstaw |
SQL Server Przetwarzanie instrukcja INSERT na jednym lub kilku tabel w kwerendzie. |
dane |
Aktualizacja |
SQL Server Przetwarzanie instrukcja UPDATE na jednym lub kilku tabel w kwerendzie. |
dane |
Usuń |
SQL Server Przetwarzanie instrukcja DELETE na jednym lub kilku tabel w kwerendzie. |
limit czasu |
Brak |
Subskrypcja czas-out wygasła. |
obiekt |
Upuść |
Jeden z obiektów używanych przez kwerendę zostało porzucone. |
obiekt |
ALTER |
Jeden z obiektów używanych przez kwerendę został zmodyfikowany. |
System |
Uruchom ponownie |
SQL Server uruchomiona. |
System |
Błąd |
Wystąpił błąd wewnętrzny w SQL Server. |
System |
zasób |
Subskrypcja powiadomienie została usunięta z powodu stanu SQL Server, na przykład serwer ciężko obciążonego. |
Subskrybuj wiadomości
Gdy SQL Server nie może utworzyć subskrypcja, serwer natychmiast wysyła komunikat typu Subskrybuj.W poniższej tabela opisano subskrybować wiadomości.
Źródło |
Info |
Opis |
|---|---|---|
Instrukcja |
zapytanie |
Polecenie przedłożone zawarte SELECT instrukcja nie spełnia wymagania dotyczące powiadomienie kwerendy. |
Instrukcja |
Nieprawidłowy |
Polecenie przedłożone zawarte instrukcja nie obsługuje powiadomienia (na przykład INSERT lub UPDATE). |
Instrukcja |
Nieprawidłowy poprzedniego |
Poprzednie polecenie w transakcji zawartych w instrukcja, która nie obsługuje powiadomienia (na przykład INSERT lub UPDATE) |
Instrukcja |
zestawOpcje |
Opcje połączenia nie były zestaw odpowiednio kiedy przedłożono polecenia. |
Instrukcja |
izolacji |
Poziom izolacji był nieprawidłowy dla powiadomienie kwerendy (poziom izolacji MIGAWKI). |
Instrukcja |
limit szablonu kwerendy |
Tabela określonych w kwerendzie osiągnął maksymalną liczbę szablonów wewnętrznego. |