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
Atenção
Esse recurso será removido em uma versão futura do SQL Server. Evite usar esse recurso em novos trabalhos de desenvolvimento e planeje modificar aplicativos que atualmente usam esse recurso. Para alta disponibilidade, utilize grupos de disponibilidade Always On.
Importante
O espelhamento de banco de dados no SQL Server é uma tecnologia distinta do espelhamento de banco de dados do Microsoft Fabric. O espelhamento para o Fabric oferece uma melhoria no desempenho analítico, a capacidade de unificar o seu património de dados com o OneLake no Fabric e um acesso aberto aos seus dados em formato Delta Parquet.
Com o Mirroring to Microsoft Fabric, você pode replicar continuamente seu conjunto de dados existente diretamente no OneLake in Fabric, incluindo dados do SQL Server 2016+, Banco de Dados SQL do Azure, Instância Gerenciada SQL do Azure, Cosmos DB, Oracle, Snowflake e muito mais.
Este tópico descreve os pré-requisitos e recomendações para configurar o espelhamento de banco de dados. Para obter uma introdução ao espelhamento de banco de dados, consulte Espelhamento de banco de dados (SQL Server).
Suporte para espelhamento de banco de dados
Para obter uma lista de recursos suportados pelas edições do SQL Server no Windows, consulte:
- Edições e funcionalidades suportadas do SQL Server 2025
- Edições e recursos suportados do SQL Server 2022
- Edições e recursos suportados do SQL Server 2019
- Edições e funcionalidades suportadas do SQL Server 2017
- Edições e funcionalidades suportadas do SQL Server 2016
Observe que o espelhamento de banco de dados funciona com qualquer nível de compatibilidade de banco de dados suportado. Para obter informações sobre os níveis de compatibilidade suportados, consulte ALTER DATABASE Compatibility Level (Transact-SQL).
Pré-requisitos
Para que uma sessão de espelhamento seja estabelecida, os parceiros e a testemunha, se houver, devem estar em execução na mesma versão do SQL Server.
Os dois parceiros, ou seja, o servidor principal e o servidor espelho, devem estar executando a mesma edição do SQL Server. A testemunha, se houver, pode correr em qualquer edição do SQL Server que suporte o espelhamento de banco de dados.
Observação
Você pode atualizar instâncias de servidor que são parceiros em uma sessão de espelhamento para uma versão mais recente do SQL Server. Para obter mais informações, veja Atualizar Instâncias Espelhadas.
O banco de dados deve usar o modelo de recuperação completa. Os modelos de recuperação simples e bulk-logged não suportam espelhamento de bases de dados. Portanto, as operações em massa são sempre totalmente registradas para um banco de dados espelhado. Para obter informações sobre modelos de recuperação, consulte Modelos de recuperação (SQL Server).
Verifique se o servidor espelho tem espaço em disco suficiente para o banco de dados espelho.
Observação
Para obter informações sobre como usar o espelhamento de banco de dados em um banco de dados replicado, consulte Espelhamento e replicação de banco de dados (SQL Server).
Ao criar o banco de dados espelho no servidor espelho, certifique-se de restaurar o backup do banco de dados principal especificando o mesmo nome de banco de dados COM NORECOVERY. Além disso, todos os backups de log que foram criados depois que o backup foi feito também devem ser aplicados, novamente COM NORECOVERY.
Importante
Se o espelhamento do banco de dados tiver sido interrompido, antes que você possa reiniciá-lo, todos os backups de log subsequentes feitos no banco de dados principal deverão ser aplicados ao banco de dados espelho.
Restrições
Somente bancos de dados de usuários podem ser espelhados. Não é possível espelhar os bancos de dados master, msdb, tempdb ou model .
Um banco de dados espelhado não pode ser renomeado durante uma sessão de espelhamento de banco de dados.
O espelhamento de banco de dados não suporta FILESTREAM. Um grupo de arquivos FILESTREAM não pode ser criado no servidor principal. O espelhamento de banco de dados não pode ser configurado para um banco de dados que contenha grupos de arquivos FILESTREAM.
O espelhamento de banco de dados não é suportado com transações entre bancos de dados ou transações distribuídas. Para obter mais informações, consulte Transações entre Bancos de Dados e Transações Distribuídas para Always On Availability Groups e Database Mirroring (SQL Server).
Recomendações para configurar servidores parceiros
Os parceiros devem funcionar em sistemas comparáveis que possam lidar com cargas de trabalho idênticas.
Observação
Se você planeja usar o modo de alta segurança com failover automático, a carga normal em cada parceiro de failover deve ser inferior a 50% da CPU. Se a carga de trabalho sobrecarregar a CPU, um parceiro de failover pode não conseguir executar ping nas outras instâncias do servidor na sessão de espelhamento. Isto provoca um failover desnecessário. Se não for possível manter o uso da CPU abaixo de 50%, recomendamos que você use o modo de alta segurança sem failover automático ou o modo de alto desempenho.
Se possível, o caminho (incluindo a letra de disco) da base de dados espelho deve ser idêntico ao caminho da base de dados principal. Você deve incluir a opção MOVE na instrução RESTORE se os layouts de arquivo precisarem ser diferentes. Por exemplo, se o banco de dados principal estiver na unidade 'F:', mas o sistema de espelho não tiver uma unidade 'F:'.
Importante
Se você mover os arquivos de banco de dados ao criar o banco de dados espelho, talvez não seja possível adicionar arquivos ao banco de dados posteriormente sem que o espelhamento seja suspenso.
Todas as instâncias do servidor em uma sessão de espelhamento devem usar a mesma página de código mestre e agrupamento. As diferenças podem causar um problema durante a configuração do espelhamento.
Opcionalmente, estime o tempo de failover de um banco de dados, para garantir que a configuração do sistema forneça o desempenho necessário. Para obter mais informações, consulte Estimar a interrupção do serviço durante a troca de função (espelhamento de banco de dados).
Para obter o melhor desempenho, use um adaptador de rede dedicado (placa de interface de rede) para espelhamento.
Não fazemos recomendações sobre se uma rede de longa distância (WAN) é confiável o suficiente para espelhamento de banco de dados no modo de alta segurança. Se você decidir usar o modo de alta segurança em uma WAN, seja cauteloso sobre como adicionar uma testemunha à sessão, porque failovers automáticos indesejados podem ocorrer. Para obter mais informações, consulte Recomendações para implantar o espelhamento de banco de dados, mais adiante neste tópico.
Recomendações para implantar o espelhamento de banco de dados
O desempenho ideal de espelhamento do banco de dados é obtido usando a operação assíncrona. Uma sessão de espelhamento que usa operação síncrona pode ter um desempenho lento quando sua carga de trabalho gera grandes quantidades de dados de log de transações.
Em ambientes de teste, é apropriado explorar todos os modos de operação para avaliar o desempenho do espelhamento de banco de dados. No entanto, antes de implantar o espelhamento em um ambiente de produção, certifique-se de entender como a rede funciona no mundo real.
O modo de alta segurança com failover automático é projetado para uma rede de alto serviço que tem uma conexão dedicada ou uma configuração de rede bastante simples que minimiza as fontes de possíveis falhas de rede. Esse ambiente de rede de alta qualidade é necessário para o modo de alta segurança com failover automático e é recomendado para todas as sessões de espelhamento de banco de dados. No entanto, o modo de alto desempenho e o modo de alta segurança sem failover automático são muito menos afetados pela confiabilidade da rede.
Portanto, para ambientes de produção, recomendamos que você siga as seguintes diretrizes de implantação:
Comece a executar no modo assíncrono e de alto desempenho. Esse modo é o menos sensível ao ambiente de rede e fornece a melhor configuração para explorar como o espelhamento funciona. Recomendamos que você execute seu sistema de forma assíncrona até ter certeza de que sua largura de banda suporta espelhamento e ter desenvolvido uma compreensão da configuração de espelhamento e do desempenho do modo assíncrono em seu ambiente. Para obter mais informações, consulte modos operacionais de espelhamento de banco de dados.
Importante
Durante o teste, recomendamos que você monitore suas sessões em busca de erros de rede que causem falha no espelhamento do banco de dados. Para obter mais informações sobre possíveis fontes de falha, consulte Possíveis falhas durante o espelhamento de banco de dados. Para obter informações sobre como monitorar o espelhamento de banco de dados, consulte Monitorando o espelhamento de banco de dados (SQL Server).
Quando estiver confiante de que a operação assíncrona está atendendo às necessidades de negócios, convém tentar a operação síncrona para melhorar a proteção de dados. Ao testar como o espelhamento síncrono funciona em seu ambiente, recomendamos que primeiro você teste o modo de alta segurança sem failover automático. O objetivo principal desse teste é ver como a operação síncrona afeta o desempenho do banco de dados. Para obter mais informações, consulte modos operacionais de espelhamento de banco de dados.
Aguarde para habilitar o failover automático até ter a certeza de que o modo de elevada segurança sem failover automático está a responder às necessidades do negócio e de que os erros de rede não estão a causar falhas. Para obter mais informações, consulte Comutação de função durante uma sessão de espelhamento de banco de dados (SQL Server).
Ver também
Configurando o espelhamento de banco de dados (SQL Server)
Segurança de Transporte de para espelhamento de banco de dados e grupos de disponibilidade Always On (SQL Server)
Espelhamento de Banco de Dados (SQL Server)
Solucionar problemas de configuração de espelhamento de banco de dados (SQL Server)