Lição 3: Concluir os objetos de conversação de destino

Aplica-se a:SQL ServerAzure SQL Managed Instance

Nesta lição, você aprenderá a criar o servidor vinculado e rotas da instância de destino do Mecanismo de Banco de Dados para a instância do iniciador. Execute estas etapas a partir de uma cópia do Management Studio que esteja sendo executada no mesmo computador que a instância de destino.

Procedures

Criar referências a objetos iniciadores

  • Copie e cole o código a seguir em uma janela do Editor de Consultas. Altere a FROM FILE cláusula para fazer referência à pasta para a qual você copiou o arquivo de InstInitiatorCertificate.cer da etapa 4 da Lição 2. Em seguida, execute o código para criar um usuário iniciador e obter o certificado do iniciador.

    USE InstTargetDB;
    GO
    
    CREATE USER InitiatorUser WITHOUT LOGIN;
    
    CREATE CERTIFICATE InstInitiatorCertificate
        AUTHORIZATION InitiatorUser
        FROM FILE = N'C:\storedcerts\$ampleSSBCerts\InstInitiatorCertificate.cer';
    GO
    

Criar rotas

  • Copie e cole o código a seguir em uma janela do Editor de Consultas. Altere a cadeia de caracteres MyInitiatorComputer para o nome do computador que está executando sua instância do iniciador. Em seguida, execute o código para criar rotas para o serviço de destino e o serviço do iniciador, além de uma associação de serviço remoto que associe o InitiatorUser à rota do serviço do iniciador.

    As instruções a seguir CREATE ROUTE pressupõem que não há nomes de serviço duplicados na instância de destino. Se vários bancos de dados na instância de destino contiverem serviços com o mesmo nome, use a BROKER_INSTANCE cláusula para especificar o banco de dados no qual você deseja abrir uma conversa.

    DECLARE @Cmd AS NVARCHAR (4000);
    
    SET @Cmd = N'USE InstTargetDB;
                    CREATE ROUTE InstInitiatorRoute
                    WITH SERVICE_NAME =
                           N''//InstDB/2InstSample/InitiatorService'',
                         ADDRESS = N''TCP://MyInitiatorComputer:4022'';';
    
    EXECUTE (@Cmd);
    
    SET @Cmd = N'USE msdb
                    CREATE ROUTE InstTargetRoute
                    WITH SERVICE_NAME =
                            N''//TgtDB/2InstSample/TargetService'',
                         ADDRESS = N''LOCAL''';
    
    EXECUTE (@Cmd);
    GO
    
    GRANT SEND
        ON SERVICE::[//TgtDB/2InstSample/TargetService] TO InitiatorUser;
    GO
    
    CREATE REMOTE SERVICE BINDING InitiatorBinding
        TO SERVICE N'//InstDB/2InstSample/InitiatorService'
        WITH USER = InitiatorUser;
    GO
    

Próximo passo

Você concluiu com êxito a configuração do banco de dados de destino para dar suporte a uma conversa do Service Broker com o banco de dados do iniciador. Em seguida, você inicia uma conversa no banco de dados do iniciador e envia uma mensagem de solicitação para o serviço de destino.