SQL Server - Problema SQL Server - Transact SQL

   
Vista:

Problema SQL Server - Transact SQL

Publicado por Jose Manuel (3 intervenciones) el 08/04/2014 11:04:12
Buenas, para poneos en situación estoy montando un servidor con mirroring en un Server 2008 R2, ya tengo todo montado y funcionando perfectamente, cuando cae el principal el mirror pasa a ser el principal y todo bien, ahora mi problema es, que quiero que una vez el servidor principal (el que cae) vuelve a estar operativo, éste pase de nuevo a ser el principal, osease, que una vez los 2 servidores vuelvan a estar operativos, tengan sus roles como al principio. Tiene toda la pinta que es configurando una tarea programada de estas, con codigo transact-SQL, lo que me gustaría que me confirmaseis y en caso de ser así, que alguno me echase un cable con el código, por que no tengo ni la más remota idea. En resumidas cuentas es eso, ya me he hartado de googlear y no encuentro nada, espero que me podais echar un cable, gracias de antemano, un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Problema SQL Server - Transact SQL

Publicado por Rafael (88 intervenciones) el 08/04/2014 11:27:38
Hola:

la instruccion seria algo asi:

1
ALTER DATABASE <database_name> SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS

Pero MUCHO cuidado, "...ALLOW_DATA_LOSS"

A ver la logica indica que:

Servidor A (Principal) -> Servidor B (Espejo - Mirror)

Ante la caida de A el B se vuelve Principal y al reanudarse A el A se convierte en espejo...

Luego entonces en el periodo que no estuvo operativo no se actualizo A, tardara un algo (depende de la cantidad de cambios) sincronizar ambos servidores.

En otras palabras existe un alto riesgo de perder datos, por lo que el mismo Microsoft desaconseja esta practica... pero tu mismo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema SQL Server - Transact SQL

Publicado por Jose Manuel (3 intervenciones) el 08/04/2014 11:45:51
Te entiendo perfectamente, pero quiero decir, después de que se sincronicen los servidores, ¿hay alguna manera de automatizar la instrucción que me has citado para que A vuelva a ser el principal? Para que automáticamente al recuperarse A los servidores vuelvan a sus roles iniciales.

Gracias por la respuesta!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema SQL Server - Transact SQL

Publicado por Rafael (88 intervenciones) el 08/04/2014 12:14:27
Hola

Depende de algunos factores:

En terminos generales como este configurado el Mirror, si esta en High Safety o High Performance....

Puedes validar si las bases de datos se encuentran sincronizadas buscando en sys.database_mirroring en el campo mirroring_state_desc, no obstante este campo miente en modo High Performance, ya que automaticamente lo marca como SINCRONIZADO en cuento levanta el Mirroring a pesar de estar apenas ejecutando las tareas de sincronización....

Luego entonces lo suyo seria que hicieras una verficacion de Logs... compararlos para confirmar que esan iguales...

Me queda la duda para que querrias forzar esta situacion, y solo me lleva a concluir que tus servidores son diferentes y el mirror cuenta con menos recursos, y siendo esta la causa me atrevo a asegurarte que es mas economico y seguro a la larga invertir en el servidor mirror para igualar las condiciones... Salvo ese detalle no encuentro otro escenario por el cual yo quisiera forzar el switch ... me cuentas ??? igual es que mi vision es corta y puede ser de ayuda lo que estas haciendo...

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema SQL Server - Transact SQL

Publicado por Jose Manuel (3 intervenciones) el 08/04/2014 12:27:57
Hola de nuevo,

en realidad, es un trabajo que me han mandado así que tampoco depende de mí el invertir o no en los servidores, la causa principal es que la persona para la que hago este servidor usa un software de empresa que ya está configurado para que se conecte al servidor principal, aunque cuando éste cae sigue operando en el reflejo, pero si éste está caido de primeras y hubiese que conectarse con el cliente, habría que indicarle el servidor secundario manualmente y quiere una vez el primario se levante, el cliente vuelva a operar en el principal. No sé si me explico.

En cuanto a lo que me has comentado, entiendo que cuando el servidor se levanta pone sincronizado en realidad puede que esté 'en proceso de' sincronziación. El servidor está en High Safety, y bueno, lo que imagino que busco (que ni lo sé con seguridad) es una tarea programada que haga que se cambie el rol automáticamente una vez se levante el principal de nuevo. No sé si me he explicado bien, cualquier cosa tan solo dime.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema SQL Server - Transact SQL

Publicado por Rafael (88 intervenciones) el 08/04/2014 12:47:43
A ver son dos cosas diferentes las que comentas:

1. La cadena de conexion de las aplicaciones a la base de datos, no deberian requerir modificacion pese a la falla del servidor, verifica que la aplicacion se este conectando de un modo similar a este:

"Server=Partner_A; Failover_Partner=Partner_B; Database=AdventureWorks; "

Con ello no deberia de estar modificando su cadena y no necesitaria modificar ni cuando cae el principal ni cuando se levanta para el seria transparente....

Quizas mas bien esto es lo que estas buscando ...

2. En el caso del High Safety puedes poner un cron que verifique constantemente el campo de la tabla que te indique en cuanto cambie a SYNCHRONIZED entonces hacer el switch insisto YO no lo haria...

Espero la parte 1 resuleva tu problema... para mas información mira esto http://technet.microsoft.com/en-us/library/ms175484.aspx

Me cuentas???
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar