Partilhar via


Service Broker com grupos de disponibilidade AlwaysOn (SQL Server)

Este tópico contém informações sobre como configurar o Service Broker para funcionar com o Grupos de Disponibilidade AlwaysOn no SQL Server 2012.

Neste tópico:

  • Requisitos para um serviço em um grupo de disponibilidade para receber mensagens remotas

  • Requisitos para enviar mensagens para um serviço remoto em um grupo de disponibilidade

Requisitos para um serviço em um grupo de disponibilidade para receber mensagens remotas

  1. Verifique se o grupo de disponibilidade tem um ouvinte.

    Para obter mais informações, consulte Criar ou configurar um ouvinte de grupo de disponibilidade (SQL Server).

  2. Verifique se o ponto de extremidade do Service Broker existe e se está configurado corretamente.

    Em toda instância do SQL Server que hospeda uma réplica de disponibilidade para o grupo de disponibilidade, configure o ponto de extremidade do Service Broker, da seguinte maneira:

    • Set LISTENER_IP to 'ALL'. Esta configuração habilitará conexões em qualquer endereço IP válido que estiver associado ao ouvinte do grupo de disponibilidade.

    • Defina a PORT do Service Broker como o mesmo número de porta em todas as instâncias do servidor de host.

      DicaDica

      Para exibir o número de porta do ponto de extremidade do Service Broker em uma determinada instância de servidor, consulte a coluna port da exibição do catálogo sys.tcp_endpoints, onde type_desc = 'SERVICE_BROKER'.

    O exemplo a seguir cria um ponto de extremidade do Service Broker autenticado do Windows que usa a porta de Service Broker padrão (4022) e escuta todos os endereços IP válidos.

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

    Para obter mais informações, consulte CREATE ENDPOINT (Transact-SQL).

  3. Conceda a permissão CONNECT no ponto de extremidade.

    Conceda permissão CONNECT no ponto de extremidade do Service Broker para PUBLIC ou para um logon.

    O exemplo a seguir concede a conexão em um ponto de extremidade do Service Broker nomeado broker_endpoint para PUBLIC.

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

    Para obter mais informações, consulte GRANT (Transact-SQL).

  4. Verifique se msdb contém uma rota AutoCreatedLocal ou uma rota para o serviço específico.

    ObservaçãoObservação

    Por padrão, cada banco de dados de usuários incluindo o msdb contém o AutoCreatedLocal da rota. Essa rota corresponde a qualquer nome de serviço e instância do broker e especifica que a mensagem deve ser entregue na instância atual. O AutoCreatedLocal tem prioridade inferior a rotas que especificam explicitamente um serviço que se comunica com uma instância remota.

    Para obter informações sobre como criar rotas, consulte Exemplos de roteamento de Service Broker (na versão do SQL Server 2008 R2 dos Manuais Online) e CREATE ROUTE (Transact-SQL).

Requisitos para enviar mensagens para um serviço remoto em um grupo de disponibilidade

  1. Criar uma rota para o serviço de destino.

    Configure a rota da seguinte maneira:

    • Defina ADDRESS como o endereço IP de ouvinte de grupo de disponibilidade que hospeda o banco de dados de serviço.

    • Defina PORT como a porta que você especificou no ponto de extremidade do Service Broker de cada instância remota do SQL Server.

    O exemplo a seguir cria uma rota nomeada RouteToTargetService para o serviço ISBNLookupRequestService. A rota destina-se ao ouvinte do grupo de disponibilidade, MyAgListener, que usa a porta 4022.

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

    Para obter mais informações, consulte CREATE ROUTE (Transact-SQL).

  2. Verifique se msdb contém uma rota AutoCreatedLocal ou uma rota para o serviço específico. (Para obter mais informações, consulte Requisitos para um serviço em um grupo de disponibilidade para receber mensagens remotas, posteriormente neste tópico.)

Ícone de seta usado com o link Voltar ao Início[Top]

Tarefas relacionadas

Ícone de seta usado com o link Voltar ao Início[Top]

Consulte também

Conceitos

Visão geral de grupos de disponibilidade AlwaysOn (SQL Server)

Ouvintes de grupo de disponibilidade, conectividade de cliente e failover de aplicativo (SQL Server)

SQL Server Service Broker