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
Para suportar o failover automático, uma sessão de espelhamento de bases de dados deve ser configurada em modo de alta proteção e requer também uma terceira instância de servidor, conhecida como testemunha. A testemunha é uma instância opcional do SQL Server que permite ao servidor espelho, numa sessão de modo de alta segurança, reconhecer se deve iniciar um failover automático. Ao contrário dos dois parceiros, a testemunha não trabalha com a base de dados. Apoiar o failover automático é o único papel da testemunha.
Observação
No modo de alto desempenho, a testemunha pode afetar negativamente a disponibilidade. Se uma testemunha estiver configurada para uma sessão de espelhamento de base de dados, o servidor principal deve estar ligado pelo menos a uma das outras instâncias do servidor, ao servidor espelho ou à testemunha, ou a ambas. Caso contrário, a base de dados torna-se indisponível e forçar o serviço (com possível perda de dados) torna-se impossível. Por isso, para o modo de alto desempenho, recomendamos vivamente que mantenha sempre a testemunha definida como DESLIGADO. Para informações sobre o impacto de uma testemunha no modo de alto desempenho, veja Modos de Operação por Espelhamento da Base de Dados.
A ilustração seguinte mostra uma sessão em modo de alta segurança com uma testemunha.
Neste tópico:
Utilização de uma Testemunha em Múltiplas Sessões
Uma instância de servidor específica pode atuar como testemunha em sessões concorrentes de espelhamento de bases de dados, cada uma para uma base de dados diferente. Diferentes sessões podem ser com parceiros diferentes. A ilustração seguinte mostra uma instância de servidor que é testemunha em duas sessões de espelhamento de base de dados com parceiros diferentes.
Uma instância de servidor único pode também funcionar ao mesmo tempo como testemunha em algumas sessões e como parceira noutras. No entanto, na prática, uma instância de servidor normalmente funciona como testemunha ou parceira. Isto porque os parceiros necessitam de computadores sofisticados que tenham hardware suficiente para suportar uma base de dados de produção, enquanto o testemunho pode correr em qualquer sistema Windows disponível que suporte SQL Server.
Recomendações de Software e Hardware
Recomendamos vivamente que a testemunha resida num computador separado dos parceiros. Os parceiros de espelhamento de bases de dados são suportados apenas pela edição SQL Server Standard e pela edição Enterprise do SQL Server. Os Testemunhas, por outro lado, também são suportados pelo SQL Server Workgroup e pelo SQL Server Express. Exceto durante uma atualização de uma versão anterior do SQL Server, as instâncias do servidor numa sessão de espelhamento devem estar todas a correr a mesma versão do SQL Server. Por exemplo, uma testemunha SQL Server 2008 (10.0.x) é suportada quando se atualiza a partir de uma configuração de espelhamento do SQL Server 2008 (10.0.x), mas não pode ser adicionada a uma configuração de espelhamento existente ou nova do SQL Server 2008 R2 (10.50.x) ou posterior.
Um testemunho pode correr em qualquer sistema informático fiável que suporte qualquer uma destas edições do SQL Server. No entanto, recomendamos que todas as instâncias de servidor usadas como testemunha correspondam à configuração mínima exigida para a versão SQL Server Standard que está a executar. Para mais informações sobre estes requisitos, consulte Requisitos de Hardware e Software para a Instalação do SQL Server 2016.
Papel da Testemunha no Failover Automático
Ao longo de uma sessão de espelhamento de base de dados, todas as instâncias do servidor monitorizam o estado da sua ligação. Se os parceiros ficarem desligados um do outro, dependem da testemunha para garantir que apenas um deles está atualmente a servir a base de dados. Se um servidor espelho sincronizado perder a ligação ao servidor principal mas permanecer ligado à testemunha, o servidor espelho contacta a testemunha para determinar se a testemunha perdeu a ligação ao servidor principal:
Se o servidor principal ainda estiver ligado à testemunha, o failover automático não ocorre. Em vez disso, o servidor principal continua a servir a base de dados enquanto acumula registos para enviar ao servidor espelho quando os parceiros se reconectam.
Se a testemunha também estiver desligada do servidor principal, o servidor espelho sabe que a base de dados principal se tornou indisponível. Neste caso, o servidor espelho inicia imediatamente um failover automático.
Se o servidor espelho estiver desconectado da testemunha e também do servidor principal, o failover automático não é possível, independentemente do estado do servidor principal.
O requisito de que pelo menos duas das instâncias do servidor estejam ligadas é conhecido como quórum. O Quorum garante que a base de dados só pode ser servida por um sócio de cada vez. Para informações sobre como funciona o quórum e o seu impacto numa sessão, veja Quórum: Como uma Testemunha Afeta a Disponibilidade da Base de Dados (Espelhamento de Base de Dados).
Para adicionar ou remover uma testemunha
Para adicionar uma testemunha
Para remover a testemunha
Ver também
Mudança de Função Durante uma Sessão de Espelhamento de Base de Dados (SQL Server)
Modos de Operação por Espelhamento de Base de Dados
Quórum: Como uma Testemunha Afeta a Disponibilidade da Base de Dados (Espelhamento de Bases de Dados)
Possíveis falhas durante o espelhamento de bases de dados
Estados de espelhamento (SQL Server)