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:
Implementacja niskiego poziomu jest dostarczana przez
SqlNotificationRequest
klasę, która uwidacznia funkcje po stronie serwera, umożliwiając wykonanie polecenia z żądaniem powiadomienia.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.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 omawia sposób używania powiadomień o zapytaniach, w tym wymagania dotyczące włączania i używania ich.
Wykrywanie zmian za pomocą metody SqlDependency pokazuje, jak wykryć, kiedy wyniki zapytania będą się różnić od tych, które zostały pierwotnie odebrane.
Wykonywanie sqlCommand z sqlNotificationRequest demonstruje konfigurowanie SqlCommand obiektu do pracy z powiadomieniem zapytania.
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.