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
 

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

Preguntas similares