Sdílet prostřednictvím


Service Broker se skupinami dostupnosti AlwaysOn (SQL Server)

platí pro:SQL Server

Toto téma obsahuje informace o konfiguraci služby Service Broker pro práci se skupinami dostupnosti AlwaysOn v SQL Serveru.

Příjem vzdálených zpráv z jiných instancí služby Service Broker

  1. Ujistěte se, že skupina dostupnosti má listener.

    Další informace najdete v tématu Vytvoření nebo konfigurace naslouchacího serveru skupiny dostupnosti (SQL Server).

  2. Ujistěte se, že koncový bod service brokeru existuje a je správně nakonfigurovaný.

    Na každé instanci SQL Serveru, která je hostitelem repliky dostupnosti pro skupinu dostupnosti, nakonfigurujte koncový bod služby Service Broker následujícím způsobem:

    • Nastavte LISTENER_IP na 'ALL'. Toto nastavení umožňuje připojení k libovolné platné IP adrese, která je přiřazená naslouchacímu procesu skupiny dostupnosti.

    • Nastavte port služby Service Broker na stejné číslo portu ve všech instancích hostitelského serveru.

      Spropitné

      Pokud chcete zobrazit číslo portu koncového bodu Service Brokeru v dané instanci serveru, proveďte dotaz na sloupec portu z katalogového zobrazení sys.tcp_endpoints, kde type_desc = 'SERVICE_BROKER'.

    Následující příklad vytvoří koncový bod služby Service Broker ověřený systémem Windows, který používá výchozí port Service Broker (4022) a naslouchá všem platným IP adresám.

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

    Další informace najdete v tématu CREATE ENDPOINT (Transact-SQL).

    Poznámka

    Služba SQL Server Service Broker není vícepodsíťově kompatibilní. Nastavte RegisterAllProvidersIP na hodnotu 0 a ověřte, že cluster má v DNS požadovaná oprávnění k používání statických IP adres. Další informace najdete v tématu konfigurace naslouchacího procesu skupiny dostupnosti. Service Broker může zpozdit zprávu se stavem "CONVERSING", pokoušející se použít deaktivovanou IP adresu.

  3. udělte koncovému bodu oprávnění CONNECT.

    Udělte koncovému bodu Service Brokeru oprávnění CONNECT buď veřejné, nebo k přihlášení.

    Následující příklad povolí připojení ke koncovému bodu služby Service Broker s názvem SSBEndpoint pro PUBLIC.

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

    Další informace naleznete v části GRANT (Transact-SQL).

  4. Ujistěte se, že msdb obsahuje trasu AutoCreatedLocal nebo trasu do konkrétní služby.

    Poznámka

    Ve výchozím nastavení obsahuje každá uživatelská databáze, včetně msdb, trasu AutoCreatedLocal. Tato trasa odpovídá jakémukoli názvu služby a instanci zprostředkovatele a určuje, že zpráva by měla být doručena v rámci aktuální instance. AutoCreatedLocal má nižší prioritu než trasy, které explicitně určují konkrétní službu, která komunikuje se vzdálenou instancí.

    Pro informace o vytváření tras najdete v tématech Příklady směrování Service Brokerů (v SQL Serveru 2008 R2 (verze 10.50.x) v knihách online) a CREATE ROUTE (Transact-SQL).

Požadavky na odesílání zpráv do vzdálené služby ve skupině dostupnosti

  1. Vytvoření trasy do cílové služby.

    Nakonfigurujte trasu následujícím způsobem:

    • Nastavte ADRESU na IP adresu posluchače skupiny dostupnosti, která hostí databázi služby.

    • Nastavte port na port, který jste zadali v koncovém bodu služby Service Broker každé ze vzdálených instancí SQL Serveru.

    Následující příklad vytvoří trasu s názvem RouteToTargetService pro službu ISBNLookupRequestService. Trasa cílí na posluchač skupiny dostupnosti MyAgListener, který používá port 4022.

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

    Pro více informací viz CREATE ROUTE (Transact-SQL).

  2. Ujistěte se, že msdb obsahuje trasu AutoCreatedLocal nebo trasu do konkrétní služby. (Další informace najdete v tématu Požadavky služby ve skupině dostupnosti pro příjem vzdálených zprávvýše v tomto tématu.)

Související úkoly

Viz také

přehled skupin dostupnosti AlwaysOn (SQL Server)
Posluchače skupiny dostupnosti, připojení klientů a převzetí služeb při selhání aplikací (SQL Server)
SQL Server Service Broker