A execução de um failover manual (não testemunha, o modo de protecção elevado)

StackOverflow https://stackoverflow.com/questions/450048

  •  19-08-2019
  •  | 
  •  

Pergunta

Posso executar um failover se tanto o primário e os parceiros espelho estão disponíveis, mas eu não consigo descobrir como fazer um manual de fail-over quando o principal está desligado ou desconectado da rede (ou seja, não ).

Eu tentei usar:

ALTER DATABASE myMirrorDatabase SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS

Mas isso coloca o db para o seguinte estado:

[In Recovery]

Eu não posso correr RESTORE DATABASE, porque o db está configurado para espelhamento. Então, qual é a maneira correta de fazer isso? Ajuda!


Mais informações ... (dado SERVER_A com DB_A e SERVER_B com DB_B)

Estado inicial:

DB_A is [Principal, Synchronised], DB_B is [Mirror, Synchronised / Restoring]

I parada SERVER_A:

DB_A is [offline], DB_B is [Mirror, Disconnected / In Recovery]

Eu executar a instrução de banco de dados alter acima:

DB_A is [offline], DB_B is [In Recovery] 
Foi útil?

Solução

Se você tem um failover não planejado, onde o principal e testemunha não estão disponíveis você deve emitir as seguintes declarações sobre o espelho:

USE master
go
ALTER DATABASE AdventureWorks SET PARTNER OFF
GO
RESTORE DATABASE AdventureWorks WITH RECOVERY
GO

Isso fará com que o espelho online.

Se você precisa re-estabelecer a configuração do espelho uma vez que o principal é disponível novamente você precisa passar pelo processo de backup de espelho DB (porque agora é a versão mais recente), restaurando ao principal e, em seguida, configurar o espelhamento mais uma vez, mas em sentido inverso. No fim de que o espelho se tornará o novo diretor.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top