Condividi tramite


Attivazione basata su eventi

In SQL Server è disponibile un evento di attivazione della coda per notificare alle applicazioni esterne il momento in cui nella coda sono presenti messaggi da elaborare. In questo argomento vengono descritti l'evento e le strategie per la ricezione e la risposta all'evento.

Evento di attivazione della coda

In SQL Server è disponibile un evento QUEUE_ACTIVATION, che segnala la presenza di operazioni da eseguire per un altro agente di lettura coda. L'evento di attivazione contiene il nome della coda nonché il nome del database e lo schema che contengono la coda. Un programma esterno può utilizzare queste informazioni per avviare il programma corretto per leggere i messaggi nella coda.

Poiché in SQL Server non è possibile tenere traccia della capacità o del numero di processi esterni che eseguono letture dalla coda, SQL Server genera periodicamente eventi di attivazione della coda per tutto il periodo in cui è richiesta l'attivazione.

Monitoraggio di eventi di attivazione da un'applicazione esterna

Un'applicazione esterna che utilizza l'attivazione basata su eventi crea in genere una notifica degli eventi nella coda che riceve i messaggi per il servizio. L'applicazione esterna crea un servizio e una coda per ricevere i messaggi di attivazione, quindi esegue il monitoraggio della coda in relazione ai messaggi che segnalano eventi QUEUE_ACTIVATION.

Questa strategia consente all'applicazione esterna di utilizzare la logica di attivazione predefinita in Service Broker per determinare il momento in cui sono presenti più operazioni da eseguire per un agente di lettura coda. L'applicazione esterna può inoltre monitorare l'attivazione per un numero di code specifico e avviare il programma appropriato quando l'attivazione è necessaria.