Gestire le priorità di conversazione

Si applica a:SQL ServerIstanza gestita di SQL di Azure

Le priorità di conversazione di Service Broker consentono di specificare le conversazioni da classificare in ordine di priorità in modo che i messaggi non vengano bloccati da un numero elevato di messaggi da conversazioni meno importanti.

Abilitare le priorità di conversazione

Le priorità della conversazione sono sempre attive per le istruzioni RECEIVE. L'opzione di database HONOR_BROKER_PRIORITY deve essere attiva per rendere attive le priorità di conversazione per le SEND istruzioni. Per impostazione predefinita, l'opzione è disabilitata in tutti i database.

Un amministratore può abilitare 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à delle conversazioni per le istruzioni SEND tramite l'istruzione seguente:

ALTER DATABASE MyDatabase
    SET HONOR_BROKER_PRIORITY OFF;

Specificare le priorità di conversazione

Le priorità della conversazione vengono specificate mediante le istruzioni CREATE BROKER PRIORITY, ALTER BROKER PRIORITY e DROP BROKER PRIORITY. Per altre informazioni, vedere Priorità di conversazione.

Priorità delle conversazioni di query

Le priorità delle conversazioni sono archiviate nella sys.conversation_priorities visualizzazione di sistema. L'istruzione seguente elenca 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;