Compartilhar via


Estados de espelhamento (SQL Server)

Durante uma sessão de espelhamento de banco de dados, o banco de dados espelhado está sempre em um estado específico (o estado de espelhamento). O estado do banco de dados reflete o status de comunicação, o fluxo de dados e a diferença de dados entre os parceiros. A sessão de espelhamento de banco de dados adota o mesmo estado que o banco de dados principal.

Em uma sessão de espelhamento de banco de dados, as instâncias do servidor monitoram umas às outras. Os parceiros usam o estado de espelhamento para monitorar o banco de dados. Com exceção do estado PENDING_FAILOVER, o banco de dados principal e o banco de dados espelho estão sempre no mesmo estado. Se uma testemunha estiver definida para a sessão, cada um dos parceiros monitorará a testemunha usando seu estado de conexão (CONNECTED ou DISCONNECTED).

Os possíveis estados de espelhamento do banco de dados são os seguintes:

estado de espelhamento Descrição
SINCRONIZAÇÃO O conteúdo do banco de dados espelho está ficando atrás do conteúdo do banco de dados principal. O servidor principal está enviando registros de log para o servidor espelho, que está aplicando as alterações ao banco de dados espelho para avançá-lo.

No início de uma sessão de espelhamento de banco de dados, o banco de dados está no estado SYNCHRONIZING. O servidor principal está gerenciando o banco de dados, e o espelho está tentando se sincronizar.
SINCRONIZADO Quando o servidor espelho se torna suficientemente atualizado em relação ao servidor principal, o estado de espelhamento é alterado para SINCRONIZADO. O banco de dados permanece nesse estado enquanto o servidor principal continua enviando alterações para o servidor espelho e o servidor espelho continua aplicando as alterações ao banco de dados espelho.

Se a segurança da transação for definida como FULL (automático total), e o failover manual for suportado no estado SINCRONIZADO, não haverá perda de dados após um failover.

Se a segurança da transação estiver desativada, alguma perda de dados será sempre possível, mesmo no estado SYNCHRONIZED.
SUSPENSO A cópia espelhada do banco de dados não está disponível. O banco de dados principal está em execução sem enviar logs para o servidor espelho, uma condição conhecida como execução exposta. Esse é o estado após um failover.

Uma sessão também pode se tornar SUSPENSA como resultado de erros de redefinição ou se o administrador pausar a sessão.

SUSPENDED é um estado persistente que sobrevive a desligamentos e inicializações de parceiros.
TRANSFERÊNCIA_PENDENTE Esse estado é encontrado somente no servidor principal após o início de um failover, mas o servidor não fez a transição para a função espelho.

Quando o failover é iniciado, o banco de dados principal entra no estado PENDING_FAILOVER, encerra rapidamente todas as conexões de usuário e assume a função espelho logo depois.
DESCONECTADO O parceiro perdeu a comunicação com o outro parceiro.

Consulte Também

Monitorando o espelhamento de banco de dados (SQL Server)