Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a:SQL Server
Este tópico descreve as etapas para configurar instâncias de servidor para usar certificados para autenticar conexões de saída para espelhamento de banco de dados. A configuração da conexão de saída deve ser feita antes que você possa configurar as conexões de entrada.
Observação
Todas as conexões de espelhamento em um servidor usam um único endpoint de espelhamento de base de dados, e deve-se especificar o método de autenticação da instância do servidor ao criar esse endpoint.
O processo de configuração de conexões de saída, envolve as seguintes etapas gerais:
No banco de dados mestre , crie uma chave mestra para o banco de dados.
No banco de dados mestre, crie um certificado criptografado na instância do servidor.
Crie um ponto de extremidade para a instância do servidor usando o seu certificado.
Faça backup do certificado em um arquivo e copie-o com segurança para o(s) outro(s) sistema(s).
Você deve completar essas etapas para cada parceiro e a testemunha, se houver.
O procedimento a seguir descreve essas etapas em detalhes. Para cada etapa, o procedimento fornece um exemplo para configurar uma instância do servidor em um sistema chamado HOST_A. A seção Exemplo que acompanha demonstra as mesmas etapas para outra instância de servidor em um sistema chamado HOST_B.
Tramitação processual
Para configurar instâncias de servidor para conexões de espelhamento de saída (No HOST_A)
No banco de dados mestre , crie a Chave Mestra do banco de dados, se não existir. Para exibir as chaves existentes para um banco de dados, use a vista de catálogo sys.symmetric_keys.
Para criar a Chave Mestra do banco de dados, use o seguinte comando Transact-SQL. Substitua
<password>por uma senha válida.CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<password>'; GOUse uma senha única e forte e registre-a em um local seguro.
Para obter mais informações, consulte CREATE MASTER KEY (Transact-SQL) e Criar uma chave mestra de banco de dados.
No banco de dados mestre , crie um certificado criptografado na instância de servidor para ser usado nas suas conexões de saída para o espelhamento de banco de dados.
Por exemplo, para criar um certificado para o sistema HOST_A.
Importante
Se você pretende usar o certificado por mais de um ano, especifique a data de validade no horário UTC usando a opção EXPIRY_DATE na sua instrução CREATE CERTIFICATE. Além disso, recomendamos que você use o SQL Server Management Studio para criar uma regra de Gerenciamento Baseado em Políticas para alertá-lo quando seus certificados estiverem expirando. Usando a caixa de diálogo Gestão de Políticas Criar Nova Condição, crie esta regra no campo @ExpirationDate da faceta Certificado. Para obter mais informações, consulte Administrar Servidores usando o Gerenciamento Baseado em Políticas e Protegendo o SQL Server.
USE master; CREATE CERTIFICATE HOST_A_cert WITH SUBJECT = 'HOST_A certificate for database mirroring', EXPIRY_DATE = '11/30/2013'; GOPara obter mais informações, consulte CREATE CERTIFICATE (Transact-SQL).
Para visualizar os certificados na base de dados mestre , pode utilizar as seguintes instruções Transact-SQL:
USE master; SELECT * FROM sys.certificates;Para obter mais informações, consulte sys.certificates (Transact-SQL).
Verifique que o ponto de extremidade de espelhamento da base de dados existe em cada uma das instâncias do servidor.
Se já existir um endpoint de espelhamento de bases de dados para a instância do servidor, deverá reutilizar esse endpoint para qualquer outra sessão estabelecida na instância do servidor. Para determinar se existe um endpoint de espelhamento numa instância de servidor e visualizar a sua configuração, utilize a seguinte instrução:
SELECT name, role_desc, state_desc, connection_auth_desc, encryption_algorithm_desc FROM sys.database_mirroring_endpoints;Se não existir nenhum ponto de extremidade, crie um ponto de extremidade que use esse certificado para conexões de saída e que use as credenciais do certificado para verificação no outro sistema. Este é um ponto de extremidade em todo o servidor que é usado por todas as sessões de espelhamento nas quais a instância do servidor participa.
Por exemplo, para criar um endpoint de espelhamento para a instância do servidor de exemplo no HOST_A.
CREATE ENDPOINT Endpoint_Mirroring STATE = STARTED AS TCP ( LISTENER_PORT=7024 , LISTENER_IP = ALL ) FOR DATABASE_MIRRORING ( AUTHENTICATION = CERTIFICATE HOST_A_cert , ENCRYPTION = REQUIRED ALGORITHM AES , ROLE = ALL ); GOPara obter mais informações, consulte CREATE ENDPOINT (Transact-SQL).
Faça backup do certificado e copie-o para o(s) outro(s) sistema(s). Isso é necessário para configurar conexões de entrada no outro sistema.
BACKUP CERTIFICATE HOST_A_cert TO FILE = 'C:\HOST_A_cert.cer'; GOPara obter mais informações, consulte BACKUP CERTIFICATE (Transact-SQL).
Copie este certificado usando qualquer método seguro que você escolher. Tenha muito cuidado para manter todos os seus certificados seguros.
O código de exemplo nas etapas anteriores configura conexões de saída no HOST_A.
Agora você precisa executar as etapas de saída equivalentes para HOST_B. Essas etapas são ilustradas na seção Exemplo a seguir.
Exemplo
O exemplo a seguir demonstra a configuração de HOST_B para conexões de saída.
USE master;
--Create the database Master Key, if needed.
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<Strong_Password_#2>';
GO
-- Make a certificate on HOST_B server instance.
CREATE CERTIFICATE HOST_B_cert
WITH SUBJECT = 'HOST_B certificate for database mirroring',
EXPIRY_DATE = '11/30/2013';
GO
--Create a mirroring endpoint for the server instance on HOST_B.
CREATE ENDPOINT Endpoint_Mirroring
STATE = STARTED
AS TCP (
LISTENER_PORT=7024
, LISTENER_IP = ALL
)
FOR DATABASE_MIRRORING (
AUTHENTICATION = CERTIFICATE HOST_B_cert
, ENCRYPTION = REQUIRED ALGORITHM AES
, ROLE = ALL
);
GO
--Backup HOST_B certificate.
BACKUP CERTIFICATE HOST_B_cert TO FILE = 'C:\HOST_B_cert.cer';
GO
--Using any secure copy method, copy C:\HOST_B_cert.cer to HOST_A.
Copie o certificado para o outro sistema usando qualquer método seguro que você escolher. Tenha muito cuidado para manter todos os seus certificados seguros.
Importante
Depois de configurar as conexões de saída, você deve configurar as conexões de entrada em cada instância do servidor para a outra instância ou instâncias do servidor. Para obter mais informações, consulte Permitir que um ponto de extremidade de espelhamento de banco de dados use certificados para conexões de entrada (Transact-SQL).
Para obter informações sobre como criar um banco de dados espelho, incluindo um exemplo Transact-SQL, consulte Preparar um banco de dados espelho para espelhamento (SQL Server).
Para obter um Transact-SQL exemplo de estabelecimento de uma sessão de modo de alto desempenho, consulte Exemplo: Configurando o espelhamento de banco de dados usando certificados (Transact-SQL).
Segurança do .NET Framework
A menos que você possa garantir que sua rede é segura, recomendamos que você use criptografia para conexões de espelhamento de banco de dados.
Ao copiar um certificado para outro sistema, use um método de cópia seguro.
Ver também
Escolha um algoritmo de encriptação
Preparar um banco de dados espelho para espelhamento (SQL Server)
ALTER ENDPOINT (Transact-SQL)
Exemplo: Configurando o espelhamento de banco de dados usando certificados (Transact-SQL)
O Endpoint de Espelhamento de Base de Dados (SQL Server)
Solucionar problemas de configuração de espelhamento de banco de dados (SQL Server)
configurar um banco de dados espelho criptografado