Udostępnij za pośrednictwem


Powiadomienia zapytań w programie SQL Server

Oparte na infrastrukturze usługi Service Broker powiadomienia dotyczące zapytań umożliwiają aplikacjom powiadamianie o zmianie danych. Ta funkcja jest szczególnie przydatna w przypadku aplikacji, które udostępniają pamięć podręczną informacji z bazy danych, takiej jak aplikacja internetowa, i muszą być powiadamiane o zmianie danych źródłowych.

Istnieją trzy sposoby implementowania powiadomień o zapytaniach przy użyciu ADO.NET:

  1. Implementacja niskiego poziomu jest dostarczana przez SqlNotificationRequest klasę, która uwidacznia funkcje po stronie serwera, umożliwiając wykonanie polecenia z żądaniem powiadomienia.

  2. Implementacja wysokiego poziomu jest dostarczana przez SqlDependency klasę, która zapewnia wysoką abstrakcję funkcji powiadomień między aplikacją źródłową a programem SQL Server, umożliwiając użycie zależności do wykrywania zmian na serwerze. W większości przypadków jest to najprostszy i najbardziej efektywny sposób korzystania z funkcji powiadomień programu SQL Server przez zarządzane aplikacje klienckie przy użyciu programu .NET Framework Dostawca danych dla programu SQL Server.

  3. Ponadto aplikacje internetowe utworzone przy użyciu ASP.NET 2.0 lub nowszego SqlCacheDependency mogą używać klas pomocnika.

Powiadomienia o zapytaniach są używane w przypadku aplikacji, które muszą odświeżać wyświetlane lub buforowane w odpowiedzi na zmiany w danych bazowych. Program Microsoft SQL Server umożliwia aplikacjom .NET Framework wysyłanie polecenia do programu SQL Server i żądanie powiadomienia, jeśli wykonanie tego samego polecenia spowoduje wygenerowanie zestawów wyników innych niż te, które początkowo pobrano. Powiadomienia generowane na serwerze są wysyłane za pośrednictwem kolejek do przetworzenia później.

Możesz skonfigurować powiadomienia dla instrukcji SELECT i EXECUTE. W przypadku korzystania z instrukcji EXECUTE program SQL Server rejestruje powiadomienie dotyczące wykonywanego polecenia, a nie samej instrukcji EXECUTE. Polecenie musi spełniać wymagania i ograniczenia dotyczące instrukcji SELECT. Gdy polecenie rejestrujące powiadomienie zawiera więcej niż jedną instrukcję, aparat bazy danych tworzy powiadomienie dla każdej instrukcji w partii.

Jeśli tworzysz aplikację, w której potrzebujesz niezawodnych powiadomień podrzędnych w przypadku zmian danych, zapoznaj się z sekcjami Planowanie strategii efektywnego powiadamiania o zapytaniach i alternatywami dla powiadomień zapytań w artykule Planowanie powiadomień . Aby uzyskać więcej informacji o powiadomieniach o zapytaniach i usłudze SQL Server Service Broker, zobacz następujące linki do artykułów w dokumentacji programu SQL Server.

SQL Server documentation (Dokumentacja programu SQL Server)

W tej sekcji

Włączanie powiadomień o zapytaniach
Omówienie sposobu używania powiadomień dotyczących zapytań, w tym wymagań dotyczących włączania i używania ich.

Element SqlDependency w aplikacji ASP.NET
Pokazuje, jak używać powiadomień dotyczących zapytań z aplikacji ASP.NET.

Wykrywanie zmian za pomocą elementu SqlDependency
Pokazuje, jak wykryć, kiedy wyniki zapytania będą się różnić od tych, które zostały pierwotnie odebrane.

Wykonywanie polecenia SqlCommand za pomocą SqlNotificationRequest
Demonstruje konfigurowanie SqlCommand obiektu do pracy z powiadomieniem o kwerendzie.

Odwołanie

SqlNotificationRequest
Opisuje klasę SqlNotificationRequest i wszystkie jej składowe.

SqlDependency
Opisuje klasę SqlDependency i wszystkie jej składowe.

SqlCacheDependency
Opisuje klasę SqlCacheDependency i wszystkie jej składowe.

Zobacz też