Lição 3: Concluindo os objetos de conversação de destino
Nesta lição você aprenderá a criar o servidor vinculado e as rotas da instância de destino do Mecanismo de Banco de Dados para a instância do iniciador. Execute estas etapas de uma cópia do Management Studio que seja executada no mesmo computador da instância de destino.
Procedimentos
Criar referências para objetos de iniciador
Copie e cole o código a seguir em uma janela do Editor de Consultas. Altere a cláusula FROM FILE para que ela faça referência à pasta na qual o arquivo InstInitiatorCertficate.cer foi copiado na Etapa 4 da Lição 2. Em seguida, execute o código para criar um iniciador e extrair o certificado de 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 a instância de iniciador. Em seguida, execute o código para criar rotas para o serviço de destino e serviço iniciador, e uma associação de serviço remoto que vincule o InitiatorUser à rota de serviço de iniciador.
As instruções CREATE ROUTE a seguir supõem que não há nenhum nome de serviço duplicado na instância de destino. Se vários bancos de dados na instância de destino contiverem serviços com um mesmo nome, use a cláusula BROKER_INSTANCE para especificar o banco de dados em que a conversação será aberta.
DECLARE @Cmd NVARCHAR(4000); SET @Cmd = N'USE InstTargetDB; CREATE ROUTE InstInitiatorRoute WITH SERVICE_NAME = N''//InstDB/2InstSample/InitiatorService'', ADDRESS = N''TCP://MyInitiatorComputer:4022'';'; EXEC (@Cmd); SET @Cmd = N'USE msdb CREATE ROUTE InstTargetRoute WITH SERVICE_NAME = N''//TgtDB/2InstSample/TargetService'', ADDRESS = N''LOCAL'''; EXEC (@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óximas etapas
Você terminou de configurar com êxito o banco de dados de destino para oferecer suporte à conversação Service Broker para o banco de dados do iniciador. A seguir, você começará uma conversação no banco de dados iniciador e enviará uma mensagem de solicitação para o serviço de destino. Consulte Lição 4: Começando a conversação.