Oznámení pro dotazy na SQL Serveru

Na základě infrastruktury Service Brokeru umožňují oznámení dotazů aplikacím dostávat oznámení o změně dat. Tato funkce je zvlášť užitečná pro aplikace, které poskytují mezipaměť informací z databáze, jako je webová aplikace, a musí být upozorněni při změně zdrojových dat.

Oznámení dotazů můžete implementovat třemi způsoby pomocí ADO.NET:

  1. Implementace nízké úrovně je poskytována SqlNotificationRequest třídou, která zveřejňuje funkce na straně serveru, což umožňuje spustit příkaz s žádostí o oznámení.

  2. Implementace vysoké úrovně je poskytována SqlDependency třídou, což je třída, která poskytuje vysokou úroveň abstrakce funkce oznámení mezi zdrojovou aplikací a SQL Serverem, což umožňuje použít závislost k detekci změn na serveru. Ve většině případů je to nejjednodušší a nejúčinnější způsob, jak využívat funkce oznámení SQL Serveru spravovanými klientskými aplikacemi pomocí rozhraní .NET Framework Zprostředkovatel dat pro SQL Server.

  3. Kromě toho mohou webové aplikace vytvořené pomocí ASP.NET 2.0 nebo novější používat SqlCacheDependency pomocné třídy.

Oznámení dotazů se používají pro aplikace, které potřebují aktualizovat zobrazení nebo mezipaměti v reakci na změny v podkladových datech. Microsoft SQL Server umožňuje aplikacím rozhraní .NET Framework odesílat příkaz na SQL Server a požadovat oznámení, pokud by spuštění stejného příkazu vytvořilo sady výsledků, které se liší od těch, které byly původně načteny. Oznámení vygenerovaná na serveru se odesílají prostřednictvím front, které se budou později zpracovávat.

Můžete nastavit oznámení pro příkazy SELECT a EXECUTE. Při použití příkazu EXECUTE SQL Server zaregistruje oznámení pro příkaz spuštěný namísto samotného příkazu EXECUTE. Příkaz musí splňovat požadavky a omezení pro příkaz SELECT. Pokud příkaz, který zaregistruje oznámení, obsahuje více než jeden příkaz, databázový stroj vytvoří oznámení pro každý příkaz v dávce.

Pokud vyvíjíte aplikaci, ve které při změně dat potřebujete spolehlivá dílčí oznámení, projděte si části Plánování strategie efektivních oznámení dotazů a alternativy oznámení dotazů v článku Plánování oznámení o oznámeních . Další informace o oznámeních dotazů a službě SQL Server Service Broker najdete v následujících odkazech na články v dokumentaci k SQL Serveru.

Dokumentace SQL Serveru

V tomto oddílu

Povolení oznámení dotazů
Popisuje, jak používat oznámení dotazů, včetně požadavků na jejich povolení a používání.

SqlDependency v aplikaci ASP.NET
Ukazuje, jak používat oznámení dotazů z aplikace ASP.NET.

Detekce změn pomocí SqlDependency
Ukazuje, jak zjistit, kdy se výsledky dotazu budou lišit od původně přijatých výsledků.

Provádění SqlCommand pomocí SqlNotificationRequest
Demonstruje konfiguraci objektu SqlCommand pro práci s oznámením dotazu.

Reference

SqlNotificationRequest
Popisuje SqlNotificationRequest třídu a všechny její členy.

SqlDependency
Popisuje SqlDependency třídu a všechny její členy.

SqlCacheDependency
Popisuje SqlCacheDependency třídu a všechny její členy.

Viz také