Problemas Mirroring - servidores con unidades de red diferentes

12/02/2007 - 18:02 por Enrique Catala Bañuls | Informe spam
Resulta que por razones ajenas, me voy a ver forzado a instalar la SQL Server
2005 usando mirroring en dos equipos que tienen una configuracion de discos
un tanto peculiar.
La BBDD en el principal estará instalada sobre una unidad llamada D:\ y el
mirrror sobre una unidad llamada B:\ ( usar en los dos las mismas unidades es
imposible por desgracia, ni siquiera mapeandolas )

El problema viene a la hora de crear grupos de ficheros, ya que van a estar
en unidades diferentes.

Resulta que cuando creo el grupo de ficheros para los índices, le tengo que
especificar la ruta donde lo quiero y ahi tengo el problema. Cuando le
especifico en el parámetro FILENAME el valor N'D:\Program Files\Microsoft SQL
Server\MSSQL.1\MSSQL\DATA\fichero.ndf' todo es correcto para el principal y
me crea sin problemas el fichero .ndf , pero cuando la transacción se ejecuta
sobre el mirror, como no existe el directorio ( recordemos que está en B:\,
no en D:\ ), da un error y me para el mirror. Se me queda congelado y no me
hace los backups diferenciales con lo que empieza a crecerme el log de
transacciones,...y llega el desastre ;) Tiene solución, pero las dos que he
visto pasan por crear la ruta sobre el disco en cuestion o hacer de nuevo el
mirror, partiendo de un nuevo backup total del principal, con lo que es un
monton de tiempo.

La pregunta es si existe alguna forma de agregar el grupo de ficheros sin
tener que parar todo el tema del mirroring y volver a recrearlo desde cero
con un backup del principal de nuevo. Seguro que la hay, pero no la encuentro
:(

Muchas gracias de antemano.

Atentamente, Enrique Catala Bañuls

Preguntas similare

Leer las respuestas

#1 Enrique Catala Bañuls
13/02/2007 - 16:32 | Informe spam
Se pueden poner de forma independiente, pero el mirroring funciona a traves
de transacciones, que se ejecutan en ambas BBDD ( en mi caso de forma
síncrona porque es alta disponibilidad ).

El problema viene cuando intentas hacer esto:

ALTER DATABASE [MI_BD] ADD FILEGROUP [FG_INDICES]
GO
ALTER DATABASE [MI_BD] ADD FILE
( NAME = N'MI_BD_indices',
FILENAME = N'D:\MI_BD_2005\MI_BD_indices.ndf' ,
SIZE = 102400KB , FILEGROWTH = 1024KB )
TO FILEGROUP [FG_INDICES]
GO

Resulta que en servidor principal, la BBDD se encuentra en D:\MI_BD_2005\ ,
pero en el servidor espejo, el disco D:\ no existe. La transacción se ejecuta
satisfactoriamente en el principal , pero da un error en el mirror y se
paraliza el mirroring. Seguro que hay otra forma que no sea parar el mirror,
ejecutar esto en el principal, y volver a montar el mirror...el problema es
que no la se :(

Espero haberme explicado mejor esta vez.

Atentamente, Enrique Catala Bañuls


"Mauro SB." wrote:

hola enrique.
la verdad no entendi mucho, pero en el mirroring en 2005 las BD son independiendtes(es una de las ventajas frente a un cluster) y no importa donde tenga cada una sus archivos
por lo que no entiendo bien tu problema.la BD espejada deberias levantarla sin problemas especificando el nuevo directorio para los archivos y haciendo un plan de backup local al servidor

saludos
Mauro
MCTS - SQL 2005

"Enrique Catala Bañuls" wrote in message news:
Resulta que por razones ajenas, me voy a ver forzado a instalar la SQL Server
2005 usando mirroring en dos equipos que tienen una configuracion de discos
un tanto peculiar.
La BBDD en el principal estará instalada sobre una unidad llamada D:\ y el
mirrror sobre una unidad llamada B:\ ( usar en los dos las mismas unidades es
imposible por desgracia, ni siquiera mapeandolas )

El problema viene a la hora de crear grupos de ficheros, ya que van a estar
en unidades diferentes.

Resulta que cuando creo el grupo de ficheros para los índices, le tengo que
especificar la ruta donde lo quiero y ahi tengo el problema. Cuando le
especifico en el parámetro FILENAME el valor N'D:\Program Files\Microsoft SQL
Server\MSSQL.1\MSSQL\DATA\fichero.ndf' todo es correcto para el principal y
me crea sin problemas el fichero .ndf , pero cuando la transacción se ejecuta
sobre el mirror, como no existe el directorio ( recordemos que está en B:\,
no en D:\ ), da un error y me para el mirror. Se me queda congelado y no me
hace los backups diferenciales con lo que empieza a crecerme el log de
transacciones,...y llega el desastre ;) Tiene solución, pero las dos que he
visto pasan por crear la ruta sobre el disco en cuestion o hacer de nuevo el
mirror, partiendo de un nuevo backup total del principal, con lo que es un
monton de tiempo.

La pregunta es si existe alguna forma de agregar el grupo de ficheros sin
tener que parar todo el tema del mirroring y volver a recrearlo desde cero
con un backup del principal de nuevo. Seguro que la hay, pero no la encuentro
:(

Muchas gracias de antemano.

Atentamente, Enrique Catala Bañuls
Respuesta Responder a este mensaje
#2 Enrique Catala Bañuls
14/02/2007 - 17:03 | Informe spam
Muchas gracias, era lo que queria saber, que la solución que dí era la única.

Salu2!

Atentamente, Enrique Catala Bañuls


"Jose Mariano Alvarez" wrote:

te copio del manual:

If you move the database files when creating the mirror database, you may be unable to add files to the database later without mirroring being suspended. Adding a file during a mirroring session without impacting the session requires that the path of the file exists on both servers. If the path of a new file does not exist on the mirror server, after the file is added on the principal database the mirroring session will be suspended. Before resuming mirroring is possible, the database owner must fix the problem by backing up the log containing the add-file operation on the principal server and manually restoring the log backup on the mirror database using the WITH MOVE option or the file path is created on the mirror.






Saludos
Ing. Jose Mariano Alvarez


(Cambia los ceros por O y saca lo que sobra)




"Mauro SB." wrote in message news:
Enrique, ahora entiendo lo que quieres hacer .
Deberias definir primero la arquitectura de los archivos y despues armar el mirroring levantando los archivos en las localizaciones que te hagan falta en el server espejado
lo mismo para cualquier accion que incluya el manejo de archivos. Salvo que como lo mencionas, dejes los servidores con el mismo nombre de unidades de disco.
la otra es crear en el server primario el disco B: y crear alli el archivo

saludos
Mauro
MCTS - SQL Server 2005
"Enrique Catala Bañuls" wrote in message news:
Se pueden poner de forma independiente, pero el mirroring funciona a traves
de transacciones, que se ejecutan en ambas BBDD ( en mi caso de forma
síncrona porque es alta disponibilidad ).

El problema viene cuando intentas hacer esto:

ALTER DATABASE [MI_BD] ADD FILEGROUP [FG_INDICES]
GO
ALTER DATABASE [MI_BD] ADD FILE
( NAME = N'MI_BD_indices',
FILENAME = N'D:\MI_BD_2005\MI_BD_indices.ndf' ,
SIZE = 102400KB , FILEGROWTH = 1024KB )
TO FILEGROUP [FG_INDICES]
GO

Resulta que en servidor principal, la BBDD se encuentra en D:\MI_BD_2005\ ,
pero en el servidor espejo, el disco D:\ no existe. La transacción se ejecuta
satisfactoriamente en el principal , pero da un error en el mirror y se
paraliza el mirroring. Seguro que hay otra forma que no sea parar el mirror,
ejecutar esto en el principal, y volver a montar el mirror...el problema es
que no la se :(

Espero haberme explicado mejor esta vez.

Atentamente, Enrique Catala Bañuls


"Mauro SB." wrote:

> hola enrique.
> la verdad no entendi mucho, pero en el mirroring en 2005 las BD son independiendtes(es una de las ventajas frente a un cluster) y no importa donde tenga cada una sus archivos
> por lo que no entiendo bien tu problema.la BD espejada deberias levantarla sin problemas especificando el nuevo directorio para los archivos y haciendo un plan de backup local al servidor
>
> saludos
> Mauro
> MCTS - SQL 2005
>
> "Enrique Catala Bañuls" wrote in message news:
> Resulta que por razones ajenas, me voy a ver forzado a instalar la SQL Server
> 2005 usando mirroring en dos equipos que tienen una configuracion de discos
> un tanto peculiar.
> La BBDD en el principal estará instalada sobre una unidad llamada D:\ y el
> mirrror sobre una unidad llamada B:\ ( usar en los dos las mismas unidades es
> imposible por desgracia, ni siquiera mapeandolas )
>
> El problema viene a la hora de crear grupos de ficheros, ya que van a estar
> en unidades diferentes.
>
> Resulta que cuando creo el grupo de ficheros para los índices, le tengo que
> especificar la ruta donde lo quiero y ahi tengo el problema. Cuando le
> especifico en el parámetro FILENAME el valor N'D:\Program Files\Microsoft SQL
> Server\MSSQL.1\MSSQL\DATA\fichero.ndf' todo es correcto para el principal y
> me crea sin problemas el fichero .ndf , pero cuando la transacción se ejecuta
> sobre el mirror, como no existe el directorio ( recordemos que está en B:\,
> no en D:\ ), da un error y me para el mirror. Se me queda congelado y no me
> hace los backups diferenciales con lo que empieza a crecerme el log de
> transacciones,...y llega el desastre ;) Tiene solución, pero las dos que he
> visto pasan por crear la ruta sobre el disco en cuestion o hacer de nuevo el
> mirror, partiendo de un nuevo backup total del principal, con lo que es un
> monton de tiempo.
>
> La pregunta es si existe alguna forma de agregar el grupo de ficheros sin
> tener que parar todo el tema del mirroring y volver a recrearlo desde cero
> con un backup del principal de nuevo. Seguro que la hay, pero no la encuentro
> :(
>
> Muchas gracias de antemano.
>
> Atentamente, Enrique Catala Bañuls
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida