Udostępnij przez


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 &lt;.

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.

Zobacz także

Koncepcje