Konversationsprioritäten verwalten

Gilt für:SQL ServerAzure SQL Managed Instance

Mit den Konversationsprioritäten von Service Broker können Sie festlegen, welche Konversationen Priorität haben sollen, damit ihre Nachrichten nicht durch die große Anzahl von Nachrichten aus weniger wichtigen Konversationen blockiert werden.

Konversationsprioritäten aktivieren

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;

Konversationsprioritäten festlegen

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

Prioritäten für Unterhaltungen abfragen

Konversationsprioritäten werden in der sys.conversation_priorities Systemansicht 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;