El servidor de conmutación por error tiene estado (espejo, desconectado, en recuperación) y el servidor principal tiene estado (principal, desconectado).
¿Cuál es el proceso para volver a conectar estos servidores?
El servidor de conmutación por error tiene estado (espejo, desconectado, en recuperación) y el servidor principal tiene estado (principal, desconectado).
¿Cuál es el proceso para volver a conectar estos servidores?
Respuestas:
A veces, reiniciar el punto final de duplicación en el servidor principal resolverá esto.
Para hacer esto, use el siguiente T-SQL.
ALTER ENDPOINT Endpoint_Name STATE = STOPPED
ALTER ENDPOINT Endpoint_Name STATE = STARTED
Para obtener el nombre del punto final.
SELECT * FROM sys.endpoints
WHERE type = 4
Vea KB 2490051 para más detalles.
Primero, intente que se vuelvan a conectar con este comando T-SQL en el principal:
ALTER DATABASE AdventureWorks2012 SET PARTNER RESUME;
Si eso falla, tienes un problema de comunicación entre el director y el espejo, y ahí es donde comienza la diversión. Puede ser cualquier cosa, desde conectividad IP hasta seguridad en los puntos finales de duplicación y diferentes métodos de cifrado. Recomiendo el libro de Robert Davis Pro SQL Server 2008 Mirroring si necesita profundizar en la resolución de problemas.
En nuestro caso, estamos utilizando autenticación de certificado para conectar puntos finales de duplicación, y el problema se debió a que uno de los certificados que estaban utilizando los puntos finales de duplicación había expirado.
Puede verificar la fecha de vencimiento del certificado involucrado en la autenticación de punto final haciendo un
SELECT * FROM sys.certificates
Si este es el caso, deberá crear nuevos certificados para lo que haya caducado y luego hacerlo ALTER ENDPOINT
después de que se hayan importado.
Solucioné este problema en los siguientes pasos, reiniciar el punto final solo en PRIMARY no ayudó
En PRIMARIO:
SELECT * FROM sys.endpoints WHERE type = 4
ALTER ENDPOINT Mirroring STATE = STOPPED
ALTER ENDPOINT Mirroring STATE = STARTED
En ESPEJO:
SELECT * FROM sys.endpoints WHERE type = 4
ALTER ENDPOINT Mirroring STATE = STOPPED
ALTER ENDPOINT Mirroring STATE = STARTED
De vuelta en PRIMARIO:
ALTER DATABASE PACXDSite SET PARTNER RESUME;
Caso:
Cuando ejecuta el siguiente comando en el servidor Principal:
alter database 'Database_Name' set partner off
Después de ejecutar el comando anterior, su DB entra en [mirror, disconnected]
estado en el servidor espejo.
Resolución:
Paso 1: Ejecute debajo de la consulta en el espejo
exec sp_resetstatus 'Database_Name'
Paso 2: Después de ejecutar el siguiente comando, su base de datos estará disponible.
restore database 'Database_Name' with recovery
Nota: el paso 2 tardará un tiempo en recuperarse.
Si "REANUDAR SOCIO" no funciona
ALTER DATABASE AdventureWorks2016 SET PARTNER RESUME;
Rompería el espejo para esa (s) base (s) de datos y lo reconfiguraría.
- PASO 1 EN PRINCIPAL, rompe el espejo para una base de datos
ALTER DATABASE AdventureWorks2016 SET PARTNER OFF;
- PASO 2 EN EL ESPEJO, rompa el espejo para una base de datos
ALTER DATABASE AdventureWorks2016 SET PARTNER OFF;
- PASO 3 EN EL ESPEJO
RESTORE LAST FULL BACKUP DATABASE WITH NO RECOVERY
RESTORE TRAN BACKUP DATABASE WITH NO RECOVERY
- PASO 4 EN EL ESPEJO
ALTER DATABASE AdventureWorks2016 SET PARTNER = 'TCP://PRINCIPAL.MyDomain.COM:5022';
- PASO 5 EN PRINCIPAL
ALTER DATABASE AdventureWorks2016 SET PARTNER = 'TCP://MIRROR.MyDomain.COM:5022';
- PASO 6 EN PRINCIPAL, si ya se configuró un TESTIGO
ALTER DATABASE AdventureWorks2016 SET WITNESS = 'TCP://WITNESS.MyDomain.COM:5022';
Vale la pena mencionar que todo lo anterior se puede hacer durante las horas de trabajo, ya que la base de datos principal siempre estará en línea y disponible.