Udostępnij przez


Wysyłanie zapytań do powiadomień w programie SQL Server

Pobieranie ADO.NET

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 dostawcy danych Microsoft SqlClient 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świetlacze lub bufory w odpowiedzi na zmiany w bazowych danych. Program Microsoft SQL Server umożliwia aplikacjom platformy .NET 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 początkowo pobrane. Powiadomienia generowane na serwerze są wysyłane za pośrednictwem kolejek w celu późniejszego przetworzenia.

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ń w temacie Planowanie powiadomień w książkach programu SQL Server Online. Aby uzyskać więcej informacji o powiadomieniach o zapytaniach i usłudze SQL Server Service Broker, zobacz następujące linki do tematów w książkach programu SQL Server Online.

SQL Server documentation (Dokumentacja programu SQL Server)

W tym dziale

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.

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

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

Wykonywanie polecenia Sql Za pomocą polecenia SqlNotificationRequest
Demonstruje konfigurowanie SqlCommand obiektu do pracy z powiadomieniem o zapytaniu.

Reference

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.

Dalsze kroki