Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Notificação de alteração com Sql Server 2008


Os Serviços de Notificação foram descontinuados, mas você não deseja usá-los de qualquer maneira.

Você pode considerar as mensagens do Service Broker em alguns cenários; os detalhes dependem do seu aplicativo.

Na maioria dos casos, você provavelmente pode usar SqlDependency ou SqlCacheDependency. A maneira como eles funcionam é que você inclui um objeto SqlDependency com sua consulta ao emiti-la. A consulta pode ser um único SELECT ou um grupo complexo de comandos em um procedimento armazenado.

Algum tempo depois, se outro servidor da Web, usuário ou página da Web fizer uma alteração no banco de dados que possa alterar os resultados da consulta anterior, o SQL Server enviará uma notificação a todos os servidores que registraram objetos SqlDependency. Você pode registrar o código para ser executado quando esses eventos chegarem ou o evento pode simplesmente limpar uma entrada no Cache.

Embora você precise habilitar o Service Broker para usar SqlDependency, você não precisa interagir com ele explicitamente. No entanto, você também pode usá-lo como um mecanismo alternativo; pense nisso mais como um sistema de mensagens persistente que garante a ordem das mensagens e a entrega única.

Os detalhes de como usar esses sistemas são um pouco longos para um post no fórum. Você pode pesquisar no Google ou também fornecer exemplos em meu livro (Ultra-Fast ASP.NET).