Compartilhar via


Ativação baseada em eventos

O SQL Server fornece um evento de ativação de fila para notificar aplicativos externos quando uma fila tem mensagens para processar. Este tópico descreve o evento e as estratégias para receber e responder ao evento.

Evento de ativação de fila

O SQL Server inclui um evento QUEUE_ACTIVATION. Esse evento relata que há trabalho útil para outro Queue Reader. O evento de ativação contém o nome da fila e o nome do banco de dados e o esquema que contém a fila. Um programa externo pode usar essas informações para iniciar o programa correto para ler na fila.

O SQL Server não pode rastrear a capacidade ou o número de processos externos que estão lendo na fila. Portanto, o SQL Server gera eventos de ativação de fila periodicamente desde que seja requerida ativação.

Monitorando os eventos de ativação de um aplicativo externo

Um aplicativo externo que usa ativação baseada em evento normalmente cria uma notificação de eventos na fila que recebe mensagens para o serviço. O aplicativo externo cria um serviço e fila para receber as mensagens de ativação e, em seguida, monitora essa fila em relação as mensagens que reportam eventos QUEUE_ACTIVATION.

Essa estratégia permite que o aplicativo externo use a lógica de ativação que é criada no Service Broker para determinar quando há mais trabalho para um Queue Reader. Além disso, é possível para um aplicativo externo monitorar a ativação para um número de filas e iniciar o programa adequado quando a ativação é exigida.