Pregunta

Tengo 3 bases de datos (un principal, un espejo y un testigo) y estoy tratando de hacer que este sistema sea el más tolerante a las fallas posible.

Así que estaba pensando en hacer un poco de codificación adicional para protegerme contra la pérdida del testigo en algunos casos.

Quiero realizar un seguimiento de Mirroring_State_Desc en sys.database_mirroring Base de datos, de modo que en caso de que cambie de sincronizar a desconectado, sabré que no es seguro promoverlo al capital, pero si cambia de sincronizado a desconectado está bien para promoverlo ( Estoy trabajando en modo de alta seguridad)

Mi primer enfoque fue tener un servicio personalizado de Windows que monitoree esta tabla ... pero haciendo eso estoy haciendo muchas selecciones innecesarias en la base de datos.

Así que yo, tal vez, tal vez un gatillo sería lo que estoy buscando ... pero me quedé con solo

CREATE TRIGGER modify_state ON SYS.database_mirroring FOR INSERT, UPDATE

Necesito ayuda para el resto de la sintaxis.

Tengo una base de datos State_DB con 2 columnas (last_state y current_state), y necesito poder verificar el estado actual, con el de mi state_db. Si son diferentes, quiero modificar el Last_State con Current_State y Current_State con el Estado Fresh Read de SYS.Database_Mirroring

Mi pregunta es, ¿puedo usar un desencadenante para insertar y modificar para mantener una base de datos auxiliar con los últimos 2 estados de sys.database_mirroring? Y en caso afirmativo, ¿cómo puedo hacerlo?

¿Fue útil?

Solución

No puede crear desencadenantes en los objetos del sistema. Entonces, seguir el camino que estás pensando no es posible.

Su mejor opción para aumentar la tolerancia a fallas es mover su base de datos de testigos a su propio hardware del servidor (no solo otra instancia en el mismo cuadro a pesar de que SQL Server le permite configurarla de esa manera), separado tanto del principal como del espejo .

De esa manera, es poco probable que tenga una falla que elimine tanto su principal como su base de datos Mirror al mismo tiempo.

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