Problemas con un RESTORE (mi posta original, ya quedo almacenada)

26/12/2007 - 20:09 por Isaias | Informe spam
Tengo un esquema de respaldos, FULL, DIF y TRN (Transaccional).

El Full se ejecuta los domingos a las 3 am
El Dif se ejecuta todos los dias a las 8 am
El Trn se ejecuta cada 15 minutos del dia.

Por necesidad, tuve que recuperar la informacion aplicando primeramente el
restore del full, de la siguiente forma:

RESTORE DATABASE mybase FROM DISK =
'C:\carpeta1\BAK\BACKUP\mybase_20071209_050001.BAK'
WITH MOVE 'mybase_Data' TO 'C:\DATABASES\mybase_Data.MDF',
MOVE 'mybase_Log' TO 'C:\DATABASES\mybase_Log.LDF',
NORECOVERY

Como veran, la ruta original, no existe en el servidor actual
(d:\databases\produccion\), por lo que tuve que utilizar la instruccion MOVE.

Aplico el DIF

RESTORE DATABASE mybase FROM DISK =
'C:\carpeta1\DIF\BACKUP\mybase_20071214_080001.DIF'
WITH MOVE 'mybase_Data' TO 'C:\DATABASES\mybase_Data.MDF',
MOVE 'mybase_Log' TO 'C:\DATABASES\mybase_Log.LDF',
NORECOVERY

Hasta aqui, todo bien, me deja la base en "Loading", pero, al intentar
aplicar el primer backup del LOG de transacciones:

RESTORE LOG mybase FROM DISK =
'C:\carpeta1\TRN\BACKUP\mybase_20071214_090000.TRN'
WITH MOVE 'mybase_Data' TO 'C:\DATABASES\mybase_Data.MDF',
MOVE 'mybase_Log' TO 'C:\DATABASES\mybase_Log.LDF', RECOVERY

Me envia el siguiente mensaje de error:

Server: Msg 4330, Level 16, State 4, Line 1
The log in this backup set cannot be applied because it is on a recovery
path inconsistent with the database.
Server: Msg 3013, Level 16, State 1, Line 1
RESTORE LOG is terminating abnormally.

Ya intente hacerlo sin MOVE:

RESTORE LOG mybase FROM DISK =
'C:\carpeta1\TRN\BACKUP\mybase_20071214_090000.TRN', RECOVERY

Y tambien recibo el mismo mensaje de error.

¿Alguna recomendacion?

Saludos
IIslas

Preguntas similare

Leer las respuestas

#1 Anonimo
26/12/2007 - 23:06 | Informe spam
Hola Isaias,

Me sorprende el error, pero en cualquier caso, vamos a intentar dar alguna
pista, a ver si podemos conseguirlo (el no ya lo tenemos...)

Todos los BACKUPs deben ser con la opción NORECOVERY... excepto el último,
que habrá que indicar RECOVERY para restablecer el acceso. No creo que esté
aquí el error, porque de ser así el fallo estaría al intentar recuperar el
segundo fichero de LOG, y no el primero.

Por otro lado, si los backups de LOG son cada 15 minutos, ¿no se debería
restaurar primero el backup de LOG de las 8:15 y después todos los Backups
de LOG hasta la hora que desees? Pregunto, porque no sé si son cada 15
minutos... o cada 15 minutos desde las 9:00... en fin... por acotar el
problema recuerda que la opción STOPAT existe y aporta muchas alegrías a
los DBAs.

También tienes otra alternativa, que es un poco pesada, pero quizás te
sirva: Restaurar el FULL, y todos los Backups de LOG desde el FULL. Si el
problema está en el Backup Diferencial, podríamos evitarlo de este modo.
Incluso, podríamos pasar del último FULL y restaurar el penúltimo FULL y
todos los Backups de LOG desde el mismo...

Espero te sirvan estos comentarios.

Saludos,

GuilleSQL
http://www.guillesql.es

"Isaias" wrote in message
news:
Mostrar la cita
#2 Isaias
27/12/2007 - 01:14 | Informe spam
Gracias por tus comentarios.

Los FULL, son los DOMINGOS
Los DIF, son todos los dias
Los TRN, son cada 15 minutos, desde las 9:00 y hasta las 19:00

Aplico el FULL (OK) con NORECOVERY
Aplico el DIF (OK) con NORECOVERY (Viernes)
Aplico el TRN (PRIMER) con RECOVERY, Aqui es donde truena.


Saludos
IIslas


"GuilleSQL" wrote:

Mostrar la cita
#3 Jesús López
27/12/2007 - 20:23 | Informe spam
La primera copia de seguridad del registro de transacciones que tienes que
aplicar es la primera copia de seguridad del registro de transacciones que
hiciste justo después de la copia de seguridad diferencial que estás
aplicando.

Según se ve en el código, estás restaurando una copia diferencial de las
8:00 de la mañana, y la del registro de transacciones de las 9:00 de la
mañana.

Si como dices estás haciendo copias de seguridad del log cada quince
minutos, y la copia diferencial que estás aplicando es la de las 8:00 de la
mañana, la primera copia de seguridad del registro de transaciones que debes
aplicar es la de las 8:15 no la de las 9:00 como estás haciendo.

Saludos:

Jesús López
www.solidq.com



"Isaias" escribió en el mensaje
news:
Mostrar la cita
#4 Anonimo
27/12/2007 - 23:40 | Informe spam
Hola Isaias,

Quizás te sea útil consultar las tablas de MSDB relativas a los backups y
restores (backupfile, backupfilegroup, backupmediafamily, backupmediaset,
backupset, restorefile, restorefilegroup, restorehistory) para ver si ha
habido algún restore o algún backup de log que no recuerdes (o que algún
operador pueda haber realizado.. etc.) y la secuencia de los mismos. ¿No
habréis tenido algún problema de almacenamiento que se pueda haber
solucionado con un Backup LOG xXxXx WITH TRUNCATE_ONLY o algo similar?

No sé si te podrá servir, pero al menos, intentar ir acotando el camino ;-)

Saludos
GuilleSQL

http://www.guillesql.es


"Isaias" wrote in message
news:
Mostrar la cita
#5 Isaias
28/12/2007 - 00:06 | Informe spam
Gracias por el comentario.

No, mira, los diferenciales, se generan en punto de las 8:00 am

Los de transacciones, inician a las 9:00 am

Como dije, primero aplico el full (del Domingo), despues el diferencial (del
Viernes 8:00 am) y el primero de transacciones (Viernes 9:00 am), aqui, en el
primer me envia el mensaje de error.

FELIZ 2008
Saludos
IIslas


"Jesús López" wrote:

Mostrar la cita
Ads by Google
Search Busqueda sugerida