¿Hay una manera fácil de activar la conmutación por error automática de una sola base de datos reflejada?


8

Tengo 3 bases de datos duplicadas en una sola instancia de sqlserver2008-R2 en una alta seguridad con configuración automática de failover. ¿Hay alguna manera de activar la conmutación por error automática de solo 1 base de datos?

Quiero simular dónde no se puede acceder a la base de datos y no solo presionar el botón 'Failover' de SSMS. Puedo detener el punto final en el primario, pero eso haría que las 3 bases de datos sean inaccesibles ya que usan el mismo punto final.

¿Cómo deshabilito solo 1 db?

Respuestas:


3

Si su duplicación está configurada correctamente para alta seguridad / conmutación por error automática, entonces me inclinaría a pensar que podría desconectar la base de datos principal con esto:

alter database YourDb set offline
with rollback immediate
go

Creo que al desconectar la base de datos, tendrá una conmutación por error automática sin afectar las otras dos bases de datos que no desea conmutar por error.


1
esta es la solución que esperaba que funcionara, pero recibo un mensaje 1468, la base de datos está involucrada en la duplicación, la declaración alter falló.
dat_girl

@dat_girl, ¿puede primero intentar configurarlo como usuario único con reversión inmediata y luego probar la declaración anterior?
Thomas Stringer el

Eso tampoco funcionó @shark, el mismo error. Creo que tendría que dejar de duplicar antes de que se puedan hacer cambios de 'estado' en la base de datos.
dat_girl

2

Para que la duplicación tenga sentido, necesitará al menos una segunda instancia de SQL-Server: una para el "principal" y otra para la "duplicación".

Cómo instalar otra instancia, consulte: Configuración de la instancia .

Para que la conmutación por error automática surta efecto, también necesitará una tercera instancia (el "Testigo" ), cuyo propósito es monitorear los estados del principal y del espejo (conexión) ("... el testigo no sirve a la base de datos. Soporte automático la conmutación por error es el único papel del testigo ").

Para configurar todo el espejo con conmutación por error, consulte: conmutación por error automática y duplicación de base de datos síncrona (modo de alta seguridad) .

Una vez completados los pasos, puede probar su configuración deteniendo uno de los servicios de SQL-Server (principal o espejo). La base de datos reflejada estará disponible entonces.

¡Recomiendo encarecidamente no ejecutar las instancias en el mismo servidor real, ya que esto no lo protegerá de ningún desastre de hardware!


Gracias @vorax, pero ya tengo la configuración de duplicación y funciona bien. Tampoco quiero detener el servicio ya que eso derribaría todas las bases de datos en la instancia. Solo quiero parar 1.
dat_girl

0

Hmm, alter database whateverdb set partner failoverdebería hacerlo, pero podría llevar a todo el servidor, no tengo uno a mano con el que pueda experimentar, y los documentos molestos parecen usar el servidor y la base de datos de manera intercambiable.

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.