Service Broker mit AlwaysOn-Verfügbarkeitsgruppen (SQL Server)

Dieses Thema enthält Informationen, wie Sie Service Broker in SQL Server 2012 zur Verwendung mit AlwaysOn-Verfügbarkeitsgruppen konfigurieren.

In diesem Thema:

  • Anforderungen, damit ein Dienst in einer Verfügbarkeitsgruppe Remotenachrichten empfangen kann

  • Anforderungen zum Senden von Nachrichten an einen Remotedienst in einer Verfügbarkeitsgruppe

Anforderungen, damit ein Dienst in einer Verfügbarkeitsgruppe Remotenachrichten empfangen kann

  1. Stellen Sie sicher, dass die Verfügbarkeitsgruppe über einen Listener verfügt.

    Weitere Informationen finden Sie unter Erstellen oder Konfigurieren eines Verfügbarkeitsgruppenlisteners (SQL Server).

  2. Stellen Sie sicher, dass der Service Broker-Endpunkt vorhanden ist und ordnungsgemäß konfiguriert wird.

    Konfigurieren Sie für jede SQL Server-Instanz, von der ein Verfügbarkeitsreplikat für die Verfügbarkeitsgruppe gehostet wird, den Service Broker-Endpunkt wie folgt:

    • Legen Sie LISTENER_IP auf 'ALL' fest. Durch diese Einstellung werden Verbindungen für eine beliebige gültige IP-Adresse aktiviert, die an den Verfügbarkeitsgruppenlistener gebunden ist.

    • Legen Sie den Service Broker-PORT auf allen Hostserverinstanzen auf die gleiche Portnummer fest.

      TippTipp

      Um die Portnummer des Service Broker-Endpunkts für eine bestimmte Serverinstanz anzuzeigen, fragen Sie die port-Spalte der sys.tcp_endpoints-Katalogsicht ab, in der type_desc = 'SERVICE_BROKER' ist.

    Im folgenden Beispiel wird ein von Windows authentifizierter Service Broker-Endpunkt erstellt, der den Service Broker-Standardport (4022) verwendet und auf alle gültigen IP-Adressen lauscht.

    CREATE ENDPOINT [SSBEndpoint]
        STATE = STARTED
        AS TCP  (LISTENER_PORT = 4022, LISTENER_IP = ALL )
        FOR SERVICE_BROKER (AUTHENTICATION = WINDOWS)
    

    Weitere Informationen finden Sie unter CREATE ENDPOINT (Transact-SQL).

  3. Erteilen Sie die CONNECT-Berechtigung für den Endpunkt.

    Erteilen Sie PUBLIC oder einem Anmeldenamen die CONNECT-Berechtigung für den Service Broker-Endpunkt.

    Im folgenden Beispiel wird PUBLIC die Verbindungsberechtigung für einen Service Broker-Endpunkt mit dem Namen broker_endpoint erteilt.

    GRANT CONNECT ON ENDPOINT::[broker_endpoint] TO [PUBLIC]
    

    Weitere Informationen finden Sie unter GRANT (Transact-SQL).

  4. Stellen Sie sicher, dass in msdb entweder eine AutoCreatedLocal-Route oder eine Route zum angegebenen Dienst enthalten ist.

    HinweisHinweis

    Standardmäßig enthält jede Benutzerdatenbank einschließlich msdb die Route AutoCreatedLocal. Diese Route stimmt mit beliebigen Dienstnamen und Brokerinstanzen überein und gibt an, dass die Nachricht innerhalb der aktuellen Instanz übermittelt werden muss. AutoCreatedLocal hat eine niedrigere Priorität als Routen, in denen explizit ein bestimmter Dienst angegeben ist, der mit einer Remoteinstanz kommuniziert.

    Weitere Informationen zum Erstellen von Routen finden Sie unter Service Broker-Routingbeispiele (in der SQL Server 2008 R2-Version der Onlinedokumentation) und CREATE ROUTE (Transact-SQL).

Anforderungen zum Senden von Nachrichten an einen Remotedienst in einer Verfügbarkeitsgruppe

  1. Erstellen Sie eine Route zum Zieldienst.

    Konfigurieren Sie die Route wie folgt:

    • Legen Sie ADDRESS auf die IP-Adresse des Listeners der Verfügbarkeitsgruppe fest, von der die Dienstdatenbank gehostet wird.

    • Legen Sie PORT auf den Port fest, den Sie im Service Broker-Endpunkt jeder SQL Server-Remoteinstanz angegeben haben.

    Im folgenden Beispiel wird eine Route mit dem Namen RouteToTargetService für den ISBNLookupRequestService-Dienst erstellt. Die Route hat den Verfügbarkeitsgruppenlistener MyAgListener zum Ziel, der den Port 4022 verwendet.

    CREATE ROUTE [RouteToTargetService] WITH 
    SERVICE_NAME = 'ISBNLookupRequestService', 
    ADDRESS = 'TCP://MyAgListener:4022';
    

    Weitere Informationen finden Sie unter CREATE ROUTE (Transact-SQL).

  2. Stellen Sie sicher, dass in msdb entweder eine AutoCreatedLocal-Route oder eine Route zum angegebenen Dienst enthalten ist. (Weitere Informationen finden Sie unter Anforderungen, damit ein Dienst in einer Verfügbarkeitsgruppe Remotenachrichten empfangen kann weiter oben in diesem Thema.)

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wird[Top]

Verwandte Aufgaben

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wird[Top]

Siehe auch

Konzepte

Übersicht über AlwaysOn-Verfügbarkeitsgruppen (SQL Server)

Verfügbarkeitsgruppenlistener, Clientkonnektivität und Anwendungsfailover (SQL Server)

SQL Server Service Broker