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.

Microsoft. Data.SqlClient poskytuje dvě třídy pro oznámení dotazů:

  • Pomocí SqlNotificationRequest spusťte příkaz s požadavkem na oznámení a zprávy Service Broker zpracujte sami.

  • Slouží SqlDependency k detekci změn prostřednictvím události OnChange. Microsoft.Data.SqlClient spravuje listener a zveřejňuje informace o oznámení v argumentech události.

Important

Nepoužívejte System.Data.SqlClient pro nový vývoj. Místo toho použijte Microsoft.Data.SqlClient. Třída ASP.NET Framework SqlCacheDependency vyžaduje System.Data.SqlClient a neintegruje se s Microsoft.Data.SqlClient. Pro nové aplikace Microsoft.Data.SqlClient se přihlaste k odběru SqlDependency.OnChange a zneplatněte položky prostřednictvím rozhraní API mezipaměti vaší aplikace.

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. SQL Server umožňuje .NET aplikacím odeslat příkaz a požádat o oznámení, pokud by stejný příkaz vytvořil 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 výpisy SELECT a EXECUTE. Při použití příkazu EXECUTE SQL Server zaregistruje oznámení pro spuštěný příkaz, nikoli pro samotný příkaz 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á oznámení s reakcí do jedné sekundy, projděte si části Plánování efektivní strategie oznámení dotazů a Alternativy k oznámením dotazů v článku Plánování oznámení. 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í.

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

Provedení SqlCommand pomocí SqlNotificationRequest Ukazuje, jak nakonfigurovat SqlCommand objekt pro oznámení o dotazu.

Odkazy

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

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

SqlCacheDependency Popisuje třídu závislosti mezipaměti ASP.NET Framework pro System.Data.SqlClient. Neobaluje závislosti Microsoft.Data.SqlClient.

Viz také