Vuelva a conectar el servidor de duplicación SQL Server 2008 R2


10

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?


Aquí hay una pregunta relacionada que se parece mucho a esta. Eche un vistazo y vea si ayuda: Romper y restaurar un espejo Aquí hay algunos pasos rápidos sobre cómo pausar o reanudar el reflejo de la base de datos Si aún tiene problemas después de leerlos, actualice su publicación con lo que todos han intentado e iremos desde allí.
Aaron

Respuestas:


6

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.


1
Tuve que reiniciar el punto final en el servidor espejo como KB sugiere como segunda opción.
Jan Zahradník

4

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.


2

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 ENDPOINTdespués de que se hayan importado.


1

Solucioné este problema en los siguientes pasos, reiniciar el punto final solo en PRIMARY no ayudó

  1. En PRIMARIO:

    SELECT * FROM sys.endpoints WHERE type = 4
    
    ALTER ENDPOINT Mirroring STATE = STOPPED
    
    ALTER ENDPOINT Mirroring STATE = STARTED
  2. En ESPEJO:

    SELECT * FROM sys.endpoints WHERE type = 4
    
    ALTER ENDPOINT Mirroring STATE = STOPPED
    
    ALTER ENDPOINT Mirroring STATE = STARTED
  3. De vuelta en PRIMARIO:

    ALTER DATABASE PACXDSite SET PARTNER RESUME;

0

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.


Esto hace que el espejo esté totalmente desconectado y debe establecer el reflejo nuevamente
Alexey F

0

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.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.