Si fallo en una base de datos, ¿también fallan las otras que comparten el mismo punto final espejo?


11

Tenemos dos bases de datos configuradas para duplicar en una sola instancia de SQL Server: una base de datos de prueba y una base de datos de producción. Ambos se reflejan en otro servidor utilizando exactamente los mismos puntos finales.

Si entro en las Propiedades de la base de datos para la base de datos de prueba y hago clic en el botón "Failover", ¿también fallará en la base de datos de producción ya que ambas bases de datos comparten un punto final espejo y sus propiedades de Direcciones de red del servidor son las mismas?

ingrese la descripción de la imagen aquí

Me preocupa porque cuando configuré la duplicación para la segunda base de datos, no tuve que configurar nada nuevo. Simplemente utilizó toda la información existente.

Si utilizo el botón "Failover" de las Propiedades de la base de datos, ¿se producirá un error en todas las bases de datos que usan ese punto final, o solo en la base de datos específica para la que estoy viendo las propiedades?

Respuestas:


19

La respuesta de @ mrdenny es precisa: la falla de una base de datos no dará como resultado que todas las demás bases de datos también fallen .

Sin embargo, solo para dar una visión general de lo que es una base de datos que refleja Endpoint :

De BOL ,

La administración de la conexión en Microsoft SQL Server 2005 y versiones posteriores se basa en puntos finales. Un punto final es un objeto de SQL Server que permite que SQL Server se comunique a través de la red. Para la creación de reflejo de la base de datos, una instancia del servidor requiere su propio punto final dedicado de creación de reflejo de la base de datos. Todas las conexiones de duplicación en una instancia de servidor utilizan un único punto final de duplicación de base de datos. Este punto final es un punto final de propósito especial utilizado exclusivamente para recibir conexiones de duplicación de bases de datos de otras instancias de servidor.

Para ser más flexible, puede usar T-sql para realizar una conmutación por error manual:

Desactive la duplicación (rompa la duplicación) en la base de datos reflejada.

ALTER DATABASE <<DB NAME>> SET PARTNER OFF

Establezca el mod de recuperación de la base de datos en RECUPERACIÓN

RESTORE DATABASE <<DB NAME>> WITH RECOVERY

Arreglar y usuarios huérfanos si está utilizando autenticación SQL

EXEC sp_change_users_login Auto_Fix , ‘<<username>>’

EDITAR:

Como está utilizando el modo de alta seguridad (según su captura de pantalla), puede usar lo siguiente desde el servidor principal

ALTER DATABASE <<DB NAME>> SET PARTNER FAILOVER

Al hacerlo, solo se produce la inversión de roles y se invierte la dirección de reflejo: el principal se convierte en espejo y viceversa. Tenga en cuenta que el ESPEJO no está ROTO.

Tenga en cuenta que según este artículo de MSDN

La conmutación por error manual solo se puede iniciar desde el servidor principal.

Si desea automatizar toda la conmutación por error, consulte Automatización de creación de reflejo de la base de datos


8

No, no lo hará. Las bases de datos se conmutan por error independientemente una de la otra. No hay ningún daño en la base de datos de prueba, la base de datos de producción permanecerá donde está.

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.