Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Notifica di modifica con SQL Server 2008

Notification Services è stato ritirato, ma non vuoi utilizzarlo comunque.

Potresti considerare i messaggi di Service Broker in alcuni scenari; i dettagli dipendono dalla tua app.

Nella maggior parte dei casi, puoi probabilmente usare SqlDependency o SqlCacheDependency. Il modo in cui funzionano è che includi un oggetto SqlDependency con la tua query quando lo emetti. La query può essere un singolo SELECT o un complesso gruppo di comandi in una procedura memorizzata.

Qualche tempo dopo, se un altro server Web o utente o pagina Web apporta una modifica al DB che potrebbe causare la modifica dei risultati della query precedente, SQL Server invierà una notifica a tutti i server che hanno registrato oggetti SqlDependency. Puoi registrare il codice da eseguire all'arrivo di quegli eventi oppure l'evento può semplicemente cancellare una voce nella cache.

Sebbene sia necessario abilitare Service Broker per usare SqlDependency, non è necessario interagire con esso in modo esplicito. Tuttavia, puoi anche usarlo come meccanismo alternativo; pensalo più come un sistema di messaggistica persistente che garantisce l'ordine dei messaggi e la consegna una tantum.

I dettagli su come usare questi sistemi sono un po' lunghi per un post sul forum. Puoi farlo su Google o fornisco anche esempi nel mio libro (Ultra-Fast ASP.NET).