Exécution d'un basculement manuel (pas de témoin, mode haute protection)
-
19-08-2019 - |
Question
Je peux exécuter un basculement si les partenaires principal et miroir sont disponibles, mais je ne vois pas comment effectuer un basculement manuel lorsque le principal est désactivé ou débranché du réseau (échoue ).
J'ai essayé d'utiliser:
ALTER DATABASE myMirrorDatabase SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS
Mais cela met la base de données dans l'état suivant:
[In Recovery]
Je ne peux pas exécuter RESTORE DATABASE
, car la base de données est configurée pour la mise en miroir. Alors, quelle est la bonne façon de faire cela? Au secours!
Informations complémentaires ... (étant donné SERVER_A
avec DB_A
et SERVER_B
avec DB_B
)
État initial:
DB_A is [Principal, Synchronised], DB_B is [Mirror, Synchronised / Restoring]
J'arrête SERVER_A
:
DB_A is [offline], DB_B is [Mirror, Disconnected / In Recovery]
J'exécute l'instruction de base de données alter
ci-dessus:
DB_A is [offline], DB_B is [In Recovery]
La solution
Si vous avez un basculement non planifié pour lequel le principal et le témoin ne sont pas disponibles, vous devez émettre les déclarations suivantes sur le miroir:
USE master
go
ALTER DATABASE AdventureWorks SET PARTNER OFF
GO
RESTORE DATABASE AdventureWorks WITH RECOVERY
GO
Cela mettra le miroir en ligne.
Si vous devez rétablir la configuration du miroir une fois que le principal est à nouveau disponible, vous devez suivre le processus de sauvegarde de la base de données miroir (car il s'agit maintenant de la version la plus récente), restaurer le principal, puis configurer la mise en miroir. tout recommencer mais en sens inverse. À la fin, le miroir deviendra le nouveau principal.