Freigeben über


Verwalten von Konversationsprioritäten

Mit Service Broker-Konversationsprioritäten können Sie angeben, welche Konversationen priorisiert werden sollen, damit die entsprechenden Nachrichten nicht blockiert werden, wenn zahlreiche Nachrichten aus weniger wichtigen Konversationen vorhanden sind.

Aktivieren von Konversationsprioritäten

Konversationsprioritäten sind für RECEIVE-Anweisungen immer aktiv. Zum Aktivieren von Konversationsprioritäten für SEND-Anweisungen muss die HONOR_BROKER_PRIORITY-Datenbankoption aktiviert werden. Standardmäßig ist diese Option für alle Datenbanken deaktiviert.

Ein Administrator kann Konversationsprioritäten für SEND-Anweisungen in einer Datenbank mit der folgenden Anweisung aktivieren:

ALTER DATABASE MyDatabase SET HONOR_BROKER_PRIORITY ON;

Ein Administrator kann Konversationsprioritäten für SEND-Anweisungen mit der folgenden Anweisung deaktivieren:

ALTER DATABASE MyDatabase SET HONOR_BROKER_PRIORITY OFF;

Angeben von Konversationsprioritäten

Konversationsprioritäten werden mithilfe der CREATE BROKER PRIORITY-Anweisung, der ALTER BROKER PRIORITY-Anweisung und der DROP BROKER PRIORITY-Anweisung angegeben. Weitere Informationen finden Sie unter Konversationsprioritäten.

Abfragen von Konversationsprioritäten

Konversationsprioritäten werden in der sys.conversation_priorities-Systemsicht gespeichert. Mit der folgenden Anweisung werden alle Konversationsprioritäten in der aktuellen Datenbank aufgelistet:

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;