El Escenario es como sigue:
He creado un device a una unidad de red que apunta al disco duro de otro
servidor(ServidorDeBackup) distinto a donde tengo mi base de datos. En este
device almaceno el backup completo del día, 3 diferenciales y los logs de
transacciones cada media hora. De manera que al revisar el contenido del
device tengo lo siguiente:
-Full Backup
-Log Backup
-Log Backup
-Log Backup
-Diferencial Backup
-Log Backup
-Log Backup
-Log Backup
-Diferencial Backup
-Log Backup
-Log Backup
-Log Backup
-Diferencial Backup
-Log Backup
-Log Backup
-Log Backup
Estoy tratando de restaurar este backup en otro servidor sobre otra base de
datos.He escrito el siguiente código para restaurar el full backup del
inicio del día:
RESTORE DATABASE PruebaMiBASE
from disk='\\ServidorDeBackup\Backups\MiBASE.BAK'
WITH NORECOVERY,
MOVE 'MiBASE_Data' TO 'G:\PruebaMiBASE_data.mdf',
MOVE 'MiBASE_Log' TO 'I:\PruebaMiBASE_log.ldf',
REPLACE
GO
Hasta aquí todo bien ya que restaura el backup completo que está en ese
dispositivo.El problema surge cuando quiero restaurar alguno de los
diferenciales.Para restaurar los diferenciales tengo el siguiente codigo:
RESTORE DATABASE PruebaMiBASE
from disk='\\ServidorDeBackup\Backups\MiBASE.BAK'
WITH NORECOVERY,
FILE = 2 --quiero restaurar el segundo diferencial
GO
Cuando lo ejecuto me salta el siguiente error:
Server: Msg 3135, Level 16, State 2, Line 1
The backup set in file '\\ServidorDeBackup\Backups\MiBASE.BAK' was created
by BACKUP LOG and cannot be used for this restore operation.
Server: Msg 3013, Level 16, State 1, Line 1
RESTORE DATABASE is terminating abnormally.
Entonces supuse que FILE debería ser igual al número de archivo que
correspondía al segundo backup diferencial y coloqué FILE=9 y me dio otro
error:
Server: Msg 3136, Level 16, State 1, Line 1
Cannot apply the backup on device '\\ServidorDeBackup\Backups\MiBASE.BAK' to
database 'PruebaMiBASE'.
Server: Msg 3013, Level 16, State 1, Line 1
RESTORE DATABASE is terminating abnormally.
Sin embargo si yo intento restaurar los logs con el siguiente código,
pareciera que si hace esa restauración, ya que no da error alguno:
RESTORE LOG PruebaMiBASE
from disk='\\ServidorDeBackup\Backups\MiBASE.BAK'
WITH NORECOVERY
GO
No sé que estoy haciendo mal o si la forma en que realicé el backup es la
errónea...ya que no puedo restaurar los diferenciales. Probé desde el
enterprise manager y me da justamente el mismo error. Si alguno me puede dar
una idea o una sugerencia se los agradeceré mucho.
Morena.
Leer las respuestas