Domanda

Posso eseguire un failover se sono disponibili sia il partner principale che il mirror, ma non riesco a capire come eseguire un failover manuale quando il principale è spento o scollegato dalla rete (es. ).

Ho provato a usare:

ALTER DATABASE myMirrorDatabase SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS

Ma questo mette il db nel seguente stato:

[In Recovery]

Non riesco a eseguire RESTORE DATABASE , perché il db è configurato per il mirroring. Qual è il modo corretto di farlo? Aiuto!


Ulteriori informazioni ... (dato SERVER_A con DB_A e SERVER_B con DB_B )

Stato iniziale:

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

Fermo SERVER_A :

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

Eseguo l'istruzione di database alter sopra:

DB_A is [offline], DB_B is [In Recovery] 
È stato utile?

Soluzione

Se si dispone di un failover non pianificato in cui principale e testimone non sono disponibili, è necessario emettere le seguenti dichiarazioni sul mirror:

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

Questo porterà il mirror online.

Se è necessario ristabilire la configurazione del mirror una volta che il principal è di nuovo disponibile, è necessario eseguire il processo di backup del DB mirror (perché ora è la versione più recente), ripristinare il principal e quindi configurare il mirroring tutto da capo ma al contrario. Alla fine lo specchio diventerà il nuovo principale.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top