Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Azure SQL Managed Instance
Nesta lição, você aprenderá a criar o banco de dados de destino e todos os objetos de destino do Service Broker que não têm dependências no banco de dados do iniciador. Execute estas etapas a partir de uma cópia do Management Studio em execução no mesmo computador que a instância de destino, o Mecanismo de Banco de Dados.
Procedures
Criar um ponto de extremidade do Service Broker
Copie e cole o código a seguir em uma janela do Editor de Consultas e execute-o para criar um ponto de extremidade do Service Broker para esta instância do Mecanismo de Banco de Dados. Um ponto de extremidade do Service Broker estabelece o endereço de rede para o qual as mensagens do Service Broker são enviadas. Esse ponto de extremidade usa o padrão do Service Broker da porta TCP 4022 e estabelece que as instâncias remotas do Mecanismo de Banco de Dados usarão conexões de Autenticação do Windows para enviar mensagens.
A Autenticação do Windows funciona quando ambos os computadores estão no mesmo domínio ou domínios confiáveis. Se os computadores não estiverem em domínios confiáveis, use a segurança de certificado para os pontos de extremidade. Para obter mais informações, consulte Como criar certificados para segurança de transporte do Service Broker.
USE master; GO IF EXISTS (SELECT * FROM master.sys.endpoints WHERE name = N'InstTargetEndpoint') DROP ENDPOINT InstTargetEndpoint; GO CREATE ENDPOINT InstTargetEndpoint STATE = STARTED AS TCP (LISTENER_PORT = 4022) FOR SERVICE_BROKER (AUTHENTICATION = WINDOWS); GO
Criar o banco de dados de destino, a chave mestra e o usuário
Copie e cole o código a seguir em uma janela do Editor de Consultas. Altere a senha no
CREATE MASTER KEYextrato. Em seguida, execute o código para criar o banco de dados de destino usado para este tutorial. Por padrão, os novos bancos de dados têm aENABLE_BROKERopção definida como ativada. O código também cria a chave mestra e o usuário que serão usados para suportar criptografia e conexões remotas.USE master; GO IF EXISTS (SELECT * FROM sys.databases WHERE name = N'InstTargetDB') DROP DATABASE InstTargetDB; GO CREATE DATABASE InstTargetDB; GO USE InstTargetDB; GO CREATE MASTER KEY ENCRYPTION BY PASSWORD = N'<EnterStrongPassword1Here>'; GO CREATE USER TargetUser WITHOUT LOGIN; GO
Criar o certificado de destino
Copie e cole o código a seguir em uma janela do Editor de Consultas. Altere o nome do arquivo especificado na
BACKUP CERTIFICATEinstrução para fazer referência a uma pasta no seu sistema. Em seguida, execute o código para criar o certificado de destino usado para criptografar mensagens. A pasta especificada deve ter permissões que impeçam o acesso de contas diferentes da sua conta do Windows e da conta do Windows na qual a instância do Mecanismo de Banco de Dados está sendo executada. Para a Lição 2, você deve copiar manualmente o arquivo InstTargetCertificate.cer para uma pasta que possa ser acessada a partir da instância do iniciador.CREATE CERTIFICATE InstTargetCertificate AUTHORIZATION TargetUser WITH SUBJECT = 'Target Certificate', EXPIRY_DATE = N'12/31/2010'; BACKUP CERTIFICATE InstTargetCertificate TO FILE = N'C:\storedcerts\$ampleSSBCerts\InstTargetCertificate.cer'; GO
Criar os tipos de mensagem
Copie e cole o código a seguir em uma janela do Editor de Consultas e execute-o para criar os tipos de mensagem para a conversa. Os nomes e propriedades do tipo de mensagem especificados aqui devem ser idênticos aos criados na
InstInitiatorDBpróxima lição.CREATE MESSAGE TYPE [//BothDB/2InstSample/RequestMessage] VALIDATION = WELL_FORMED_XML; CREATE MESSAGE TYPE [//BothDB/2InstSample/ReplyMessage] VALIDATION = WELL_FORMED_XML; GO
Criar o contrato
Copie e cole o código a seguir em uma janela do Editor de Consultas e execute-o para criar o contrato para a conversa. O nome do contrato e as propriedades especificadas aqui devem ser idênticos ao contrato criado na
InstInitiatorDBpróxima lição.CREATE CONTRACT [//BothDB/2InstSample/SimpleContract] ([//BothDB/2InstSample/RequestMessage] SENT BY INITIATOR, [//BothDB/2InstSample/ReplyMessage] SENT BY TARGET); GO
Criar a fila de destino e o serviço
Copie e cole o código a seguir em uma janela do Editor de Consultas e execute-o para criar a fila e o serviço usados para o destino. A
CREATE SERVICEinstrução associa o serviço ao InstTargetQueue, para que todas as mensagens enviadas ao serviço sejam recebidas no InstTargetQueue. OCREATE SERVICEtambém especifica que somente conversas que usam o BothDB/ 2InstSample/SimpleContract criado anteriormente podem usar o serviço como um serviço de destino.CREATE QUEUE InstTargetQueue; CREATE SERVICE [//TgtDB/2InstSample/TargetService] AUTHORIZATION TargetUser ON QUEUE InstTargetQueue ([//BothDB/2InstSample/SimpleContract]); GO
Tarefas relacionadas
- CERTIFICADO DE BACKUP (Transact-SQL)
- CRIAR CERTIFICADO (Transact-SQL)
- CRIAR CONTRATO (Transact-SQL)
- CRIAR BANCO DE DADOS
- CRIAR ENDPOINT (Transact-SQL)
- CRIAR CHAVE MESTRA (Transact-SQL)
- CRIAR TIPO DE MENSAGEM (Transact-SQL)
- CRIAR FILA (Transact-SQL)
- CRIAR SERVIÇO (Transact-SQL)
- CRIAR USUÁRIO (Transact-SQL)
- Segurança da caixa de diálogo do Service Broker
- Arquitetura de conversação
- Arquitetura de serviços
Próximo passo
Você criou com êxito os bancos de dados para o tutorial. Em seguida, crie e InstInitiatorDB configure com os objetos necessários para dar suporte ao final do iniciador de uma conversa do Service Broker.