Ejecutar una conmutación por error manual (sin testigo, modo de alta protección)

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

  •  19-08-2019
  •  | 
  •  

Pregunta

Puedo ejecutar una conmutación por error si tanto el socio primario como el espejo están disponibles, pero no puedo entender cómo hacer una conmutación por error manual cuando el principal está apagado o desconectado de la red (es decir, falla ).

Intenté usar:

ALTER DATABASE myMirrorDatabase SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS

Pero esto pone el db en el siguiente estado:

[In Recovery]

No puedo ejecutar RESTORE DATABASE , porque el db está configurado para duplicar. Entonces, ¿cuál es la forma correcta de hacer esto? Ayuda!


Más información ... (dado SERVER_A con DB_A y SERVER_B con DB_B )

Estado inicial:

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

Dejo de SERVER_A :

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

Ejecuto la declaración de base de datos alter anterior:

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

Solución

Si tiene una conmutación por error no planificada donde el director y el testigo no están disponibles, debe emitir las siguientes declaraciones en el espejo:

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

Esto pondrá el espejo en línea.

Si necesita restablecer la configuración de Mirror una vez que el principal vuelva a estar disponible, debe realizar el proceso de hacer una copia de seguridad de la base de datos espejo (porque ahora es la versión más reciente), restaurar al principal y luego configurar el espejo todo de nuevo pero a la inversa. Al final, el espejo se convertirá en el nuevo director.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top