sql >> Databáze >  >> RDS >> Sqlserver

Oznámení o změně s SQL Server 2008

Notification Services byla zastaralá, ale vy ji přesto nechcete používat.

V některých scénářích můžete zvážit zprávy Service Broker; podrobnosti závisí na vaší aplikaci.

Ve většině případů můžete pravděpodobně použít SqlDependency nebo SqlCacheDependency. Fungují tak, že do dotazu zahrnete objekt SqlDependency, když jej zadáte. Dotaz může být jeden SELECT nebo komplexní skupina příkazů v uložené proceduře.

Někdy později, pokud jiný webový server nebo uživatel nebo webová stránka provede změnu v databázi, která by mohla způsobit změnu výsledků předchozího dotazu, SQL Server odešle upozornění všem serverům, které zaregistrovaly objekty SqlDependency. Můžete buď zaregistrovat kód pro spuštění, když tyto události dorazí, nebo událost může jednoduše vymazat záznam v mezipaměti.

Ačkoli musíte povolit Service Broker používat SqlDependency, nemusíte s ním explicitně interagovat. Můžete jej však použít i jako alternativní mechanismus; představte si to spíše jako trvalý systém zasílání zpráv, který zaručuje pořadí zpráv a jednorázové doručení.

Podrobnosti o tom, jak tyto systémy používat, jsou na příspěvek na fóru trochu dlouhé. Můžete je buď vygooglit, nebo také uvádím příklady ve své knize (Ultra-Fast ASP.NET).



  1. Proč nemohu vyloučit závislé sloupce ze „GROUP BY“, když agreguji podle klíče?

  2. Syntaxe Oracle SQL:Uváděný identifikátor

  3. Ovladač nemohl navázat zabezpečené připojení k serveru SQL Server pomocí šifrování Secure Sockets Layer (SSL).

  4. Spring Batch ORA-08177:nelze serializovat přístup pro tuto transakci při spuštění jedné úlohy, úroveň izolace SERIALIZOVANÁ