Gestione delle priorità di conversazione
Le priorità di conversazione di Service Broker consentono di specificare a quali conversazioni dare la priorità, in modo che i messaggi non vengano bloccati da un numero elevato di messaggi appartenenti a conversazioni meno importanti.
Attivazione delle priorità di conversazione
Le priorità di conversazione sono sempre attive per le istruzioni RECEIVE. L'opzione di database HONOR_BROKER_PRIORITY deve essere attiva affinché le priorità di conversazione siano attive per le istruzioni SEND. Per impostazione predefinita, l'opzione è disattivata per tutti i database.
Un amministratore può attivare le priorità di conversazione per le istruzioni SEND in un database utilizzando l'istruzione seguente:
ALTER DATABASE MyDatabase SET HONOR_BROKER_PRIORITY ON;
Un amministratore può disattivare le priorità di conversazione per le istruzioni SEND in un database utilizzando l'istruzione seguente:
ALTER DATABASE MyDatabase SET HONOR_BROKER_PRIORITY OFF;
Specifica delle priorità di conversazione
Le priorità di conversazione vengono specificate utilizzando le istruzioni CREATE BROKER PRIORITY, ALTER BROKER PRIORITY e DROP BROKER PRIORITY. Per ulteriori informazioni, vedere Priorità di conversazione.
Esecuzione di query sulle priorità di conversazione
Le priorità di conversazione vengono archiviate nella vista di sistema sys.conversation_priorities. Nell'istruzione seguente vengono elencate tutte le priorità di conversazione nel database corrente:
SELECT scp.name AS priority_name,
ssc.name AS contract_name,
ssvc.name AS local_service_name,
scp.remote_service_name,
scp.priority AS priority_level
FROM sys.conversation_priorities AS scp
INNER JOIN sys.service_contracts AS ssc
ON scp.service_contract_id = ssc.service_contract_id
INNER JOIN sys.services AS ssvc
ON scp.local_service_id = ssvc.service_id
ORDER BY contract_name, local_service_name,
remote_service_name;