Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Notification de modification avec SQL Server 2008

Notification Services est obsolète, mais vous ne voulez pas l'utiliser de toute façon.

Vous pouvez envisager des messages Service Broker dans certains scénarios; les détails dépendent de votre application.

Dans la plupart des cas, vous pouvez probablement utiliser SqlDependency ou SqlCacheDependency. La façon dont ils fonctionnent est que vous incluez un objet SqlDependency avec votre requête lorsque vous l'émettez. La requête peut être un seul SELECT ou un groupe complexe de commandes dans une procédure stockée.

Quelque temps plus tard, si un autre serveur Web ou utilisateur ou page Web apporte une modification à la base de données qui pourrait entraîner la modification des résultats de la requête précédente, SQL Server enverra une notification à tous les serveurs qui ont enregistré des objets SqlDependency. Vous pouvez soit enregistrer le code à exécuter lorsque ces événements arrivent, soit l'événement peut simplement effacer une entrée dans le cache.

Bien que vous deviez activer Service Broker pour utiliser SqlDependency, vous n'avez pas besoin d'interagir explicitement avec lui. Cependant, vous pouvez également l'utiliser comme mécanisme alternatif; considérez-le davantage comme un système de messagerie persistant qui garantit l'ordre des messages et une livraison unique.

Les détails sur l'utilisation de ces systèmes sont un peu longs pour un post de forum. Vous pouvez soit les rechercher sur Google, soit je fournis également des exemples dans mon livre (Ultra-Fast ASP.NET).