Configurando o espelhamento de banco de dados (SQL Server)
Aplica-se a: SQL Server
Esta seção descreve os pré-requisitos, as recomendações e as etapas para configuração do espelhamento de banco de dados. Para obter uma introdução ao espelhamento de banco de dados, confira Espelhamento de banco de dados (SQL Server).
Importante
É recomendável configurar um espelhamento de banco de dados fora do horário de pico, pois a configuração pode afetar o desempenho.
Preparando uma instância de servidor para hospedar um servidor espelho
Para cada sessão de espelhamento de banco de dados:
O servidor principal, o servidor espelho e o servidor testemunha, se houver, devem ser hospedadas por instâncias de servidor separadas que devem estar em sistemas host separados. Cada instância de servidor exige um ponto de extremidade de espelhamento de banco de dados. Se você precisar criar um ponto de extremidade de espelhamento de banco de dados, verifique se está acessível a outras instâncias de servidor.
A forma de autenticação usada para o espelhamento de banco de dados por uma instância do servidor é uma propriedade do ponto de extremidade de espelhamento de banco de dados. Dois tipos de segurança de transporte estão disponíveis para o espelhamento de banco de dados: Autenticação do Windows ou autenticação baseada em certificado. Para obter mais informações, consulte Segurança de transporte para espelhamento de banco de dados e Grupos de Disponibilidade AlwaysOn (SQL Server).
Os requisitos de acesso à rede são específicos ao formulário de autenticação, da seguinte maneira:
Se estiver usando a Autenticação do Windows
Se as instâncias de servidor estiverem sendo executadas em contas do usuário de domínio diferentes, cada uma exigirá um logon no banco de dados mestre dos outros. Se o logon não existir, você deve criá-lo. Para obter mais informações, confira Permitir o acesso à rede a um ponto de extremidade de espelhamento de banco de dados usando a Autenticação do Windows (SQL Server).
Se estiver usando certificados
Para habilitar a autenticação de certificado para espelhamento de banco de dados em uma determinada instância do servidor, o administrador do sistema deve configurar cada instância do servidor para usar certificados nas conexões de saída e de entrada. As conexões de saída devem ser configuradas primeiro. Para obter mais informações, confira Usar certificados para um ponto de extremidade de espelhamento de banco de dados (Transact-SQL).
Verifique se existem logons no servidor espelho para todos os usuários do banco de dados. Para obter mais informações, confira Configurar contas de logon para espelhamento de banco de dados ou para grupos de disponibilidade Always On (SQL Server).
Na instância de servidor que hospedará o banco de dados espelho, configure o restante do ambiente que é necessário para o banco de dados espelhado. Para obter mais informações, confira Gerenciar metadados ao disponibilizar um banco de dados em outra instância do servidor (SQL Server).
Visão geral: estabelecendo uma sessão de espelhamento de banco de dados
As etapas básicas para estabelecer uma sessão de espelhamento são as seguintes:
Crie o banco de dados espelho restaurando os seguintes backups, usando RESTORE WITH NORECOVERY em cada operação de restauração:
Restaure um backup completo recente do banco de dados principal, depois de ter certeza de que o banco de dados principal já estava usando o modelo de recuperação completa quando o backup foi realizado. O banco de dados espelho deve ter o mesmo nome que o banco de dados principal.
Se você tiver feito qualquer backup diferencial do banco de dados desde o backup completo restaurado, restaure seu backup diferencial mais recente.
Restaure todos os backups de log feitos desde o backup completo ou diferencial do banco de dados.
Para obter mais informações, confira Preparar um banco de dados espelho para espelhamento (SQL Server).
Importante
Conclua as etapas de configuração restantes o mais rápido possível depois de fazer o backup do banco de dados principal. Antes de iniciar o espelhamento nos parceiros, você deve criar um backup do log atual no banco de dados original e restaurá-lo no futuro banco de dados espelho.
Você pode configurar o espelhamento usando Transact-SQL ou o Assistente de Espelhamento de Banco de Dados. Para obter mais informações, consulte um dos seguintes itens:
Por padrão, uma sessão é definida como segurança de transação completa (SAFETY é definido como FULL), que inicia a sessão no modo síncrono de segurança alta, sem failover automático. Você pode reconfigurar a sessão para ser executada em modo de segurança alta com failover automático ou em modo assíncrono de alto desempenho, como se segue:
Modo de segurança alta com failover automático
Se você quiser que uma sessão de modo de segurança alta dê suporte a failover automático, acrescente uma instância do servidor testemunha.
Para adicionar uma testemunha
Observação
O proprietário do banco de dados pode desativar a testemunha de um banco de dados a qualquer momento. A desativação da testemunha equivale a não ter nenhuma testemunha, e não pode ocorrer failover automático.
Modo de alto desempenho
Alternativamente, se você não quiser failover automático e preferir enfatizar o desempenho em vez da disponibilidade, desative a segurança de transação. Para obter mais informações, confira Alterar a segurança da transação em uma sessão de espelhamento de banco de dados (Transact-SQL).
Observação
Em modo de alto desempenho, WITNESS precisa ser definido como OFF. Para obter mais informações, confira Quorum: como uma testemunha afeta a disponibilidade do banco de dados (Espelhamento de banco de dados).
Observação
Para obter um exemplo de como usar o Transact-SQL para configurar o espelhamento de banco de dados usando a autenticação do Microsoft Windows, confira Exemplo: Configurando espelhamento de banco de dados usando a autenticação do Windows (Transact-SQL).
Para obter um exemplo de como usar o Transact-SQL para configurar o espelhamento de banco de dados usando segurança baseada em certificado, confira Exemplo: Configurando o espelhamento de banco de dados usando certificados (Transact-SQL).
Nesta seção
Preparar um banco de dados espelho para espelhamento (SQL Server)
Resume as etapas para criar ou preparar um banco de dados espelho antes de retomar uma sessão suspensa. Fornece também links para tópicos de instruções.
Especificar um endereço de rede do servidor (Espelhamento de banco de dados)
Descreve a sintaxe de um endereço de rede de servidor, como o endereço identifica o ponto de extremidade do espelhamento de banco de dados da instância do servidor e como encontrar o nome de domínio totalmente qualificado de um sistema.
Estabelecer uma sessão de espelhamento de banco de dados usando a Autenticação do Windows (SQL Server Management Studio)
Descreve como usar o Assistente para Configurar Segurança de Espelhamento de Banco de Dados para iniciar o espelhamento de banco de dados em um banco de dados.
Estabelecer uma sessão de espelhamento de banco de dados com a Autenticação do Windows (Transact-SQL)
Descreve as etapas de Transact-SQL de configuração do espelhamento de banco de dados.
Exemplo: configurar o espelhamento de banco de dados usando a Autenticação do Windows (Transact-SQL)
Contém um exemplo de todas as fases necessárias para criar uma sessão de espelhamento de banco de dados com uma testemunha, usando a Autenticação do Windows.
Exemplo: configurar espelhamento de banco de dados usando certificados (Transact-SQL)
Contém um exemplo de todas as fases necessárias para criar uma sessão de espelhamento de banco de dados com uma testemunha, usando a autenticação baseada em certificado.
Configurar contas de logon para espelhamento de banco de dados ou para grupos de disponibilidade AlwaysOn (SQL Server)
Descreve como criar um logon para uma instância de servidor remoto usando uma conta diferente da instância de servidor local.
Related Tasks
SQL Server Management Studio
Transact-SQL
Transact-SQL/SQL Server Management Studio
Preparar um banco de dados espelho para espelhamento (SQL Server)
Solução de problemas de configuração de espelhamento de banco de dados (SQL Server)
Consulte Também
Espelhamento de banco de dados (SQL Server)
Espelhamento de banco de dados: Interoperabilidade e coexistência (SQL Server)
Segurança de transporte para espelhamento de banco de dados e Grupos de Disponibilidade Always On (SQL Server)
Especificar um endereço de rede do servidor (Espelhamento de banco de dados)