Errores al restaurar backups desde devices

27/01/2005 - 16:47 por Morena | Informe spam
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.

Preguntas similare

Leer las respuestas

#1 Eladio Rincón
27/01/2005 - 18:47 | Informe spam
Hola,

puedes usar la sentencia
RESTORE HEADERONLY
FROM disk='c:\backupNorthwind.bak'

para comprobar las copias que tiene el dispositivo:
donde BackupType:
1 = Database
2 = Transaction Log
4 = File
5 = Differential
Database
6 = Differential File

sobre tu problema he detectado lo siguiente:
el primer mensaje que comentas es que intentas restaurar una copia de log
con la instrucción "restore database", para ello deberías usar la
instrucción "restore log";

y en el último error al usar "restore log" me da la sensación de que no
especificas el número de fichero...

mira este ejemplo que he hecho con la base de datos Northwind que es posible
te sea de ayuda:

use master
go
alter database Northwind set RECOVERY FULL
go
backup database Northwind to disk='c:\backupNorthwind.bak' with init -- 1
go
backup database Northwind to disk='c:\backupNorthwind.bak' with
differential --2
go
backup log Northwind to disk='c:\backupNorthwind.bak' --3
go
backup log Northwind to disk='c:\backupNorthwind.bak' --4
go
backup log Northwind to disk='c:\backupNorthwind.bak' --5
go
backup database Northwind to disk='c:\backupNorthwind.bak' with
differential --6
go
backup log Northwind to disk='c:\backupNorthwind.bak' --7
go
backup log Northwind to disk='c:\backupNorthwind.bak' --8
go
backup log Northwind to disk='c:\backupNorthwind.bak' --9
go

restore database Northwind2
from disk='c:\backupNorthwind.bak'
with file = 1
, norecovery
, move 'Northwind' to 'c:orthwind2.mdf'
, move 'Northwind_log' to 'c:orthwind2.ldf'
go
restore database Northwind2
from disk='c:\backupNorthwind.bak'
with file = 6
, norecovery
go
restore log Northwind2
from disk='c:\backupNorthwind.bak'
with file = 7
, norecovery
go
restore log Northwind2
from disk='c:\backupNorthwind.bak'
with file = 8
, norecovery
go
restore log Northwind2
from disk='c:\backupNorthwind.bak'
with file = 9
go



Eladio Rincón
SQL Server MVP

Solid Quality Learning (http://www.solidqualitylearning.com)
"Comparte lo que sabes, aprende lo que no sepas", FGG

Consulte el histórico del grupo en Google
http://groups.google.com/groups?gro....sqlserver

¿Te interesa participar en las reuniones
del grupo de Usuarios de SQL-Server y .NET
Se harán en levante de España, (Alicante o Murcia)?

"Morena" wrote in message
news:
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.


Respuesta Responder a este mensaje
#2 Morena
27/01/2005 - 20:24 | Informe spam
Pues exactamente lo que has hecho es lo que yo hice y el código que me da
error no es el que restaura el log sino el que restaura el diferencial y el
número de la posición es el correcto, ya lo revisé con el RESTORE HEADERONLY



"Eladio Rincón" wrote in message
news:%
Hola,

puedes usar la sentencia
RESTORE HEADERONLY
FROM disk='c:\backupNorthwind.bak'

para comprobar las copias que tiene el dispositivo:
donde BackupType:
1 = Database
2 = Transaction Log
4 = File
5 = Differential
Database
6 = Differential File

sobre tu problema he detectado lo siguiente:
el primer mensaje que comentas es que intentas restaurar una copia de log
con la instrucción "restore database", para ello deberías usar la
instrucción "restore log";

y en el último error al usar "restore log" me da la sensación de que no
especificas el número de fichero...

mira este ejemplo que he hecho con la base de datos Northwind que es


posible
te sea de ayuda:

use master
go
alter database Northwind set RECOVERY FULL
go
backup database Northwind to disk='c:\backupNorthwind.bak' with init -- 1
go
backup database Northwind to disk='c:\backupNorthwind.bak' with
differential --2
go
backup log Northwind to disk='c:\backupNorthwind.bak' --3
go
backup log Northwind to disk='c:\backupNorthwind.bak' --4
go
backup log Northwind to disk='c:\backupNorthwind.bak' --5
go
backup database Northwind to disk='c:\backupNorthwind.bak' with
differential --6
go
backup log Northwind to disk='c:\backupNorthwind.bak' --7
go
backup log Northwind to disk='c:\backupNorthwind.bak' --8
go
backup log Northwind to disk='c:\backupNorthwind.bak' --9
go

restore database Northwind2
from disk='c:\backupNorthwind.bak'
with file = 1
, norecovery
, move 'Northwind' to 'c:orthwind2.mdf'
, move 'Northwind_log' to 'c:orthwind2.ldf'
go
restore database Northwind2
from disk='c:\backupNorthwind.bak'
with file = 6
, norecovery
go
restore log Northwind2
from disk='c:\backupNorthwind.bak'
with file = 7
, norecovery
go
restore log Northwind2
from disk='c:\backupNorthwind.bak'
with file = 8
, norecovery
go
restore log Northwind2
from disk='c:\backupNorthwind.bak'
with file = 9
go



Eladio Rincón
SQL Server MVP

Solid Quality Learning (http://www.solidqualitylearning.com)
"Comparte lo que sabes, aprende lo que no sepas", FGG

Consulte el histórico del grupo en Google
http://groups.google.com/groups?gro....sqlserver

¿Te interesa participar en las reuniones
del grupo de Usuarios de SQL-Server y .NET
Se harán en levante de España, (Alicante o Murcia)?

"Morena" wrote in message
news:
> 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.
>
>


Respuesta Responder a este mensaje
#3 Eladio Rincón
27/01/2005 - 23:24 | Informe spam
ahhh, ya lo veo;
que digas file=2 no quiere decir que sea el segundo diferencial, estas
intentando restaurar la copia del registro de transacciones que es la
segunda operación que se añadió al fichero; los diferenciales serían el 5, 9
y 13.

Eladio Rincón
SQL Server MVP

Solid Quality Learning (http://www.solidqualitylearning.com)
"Comparte lo que sabes, aprende lo que no sepas", FGG

Consulte el histórico del grupo en Google
http://groups.google.com/groups?gro....sqlserver

¿Te interesa participar en las reuniones
del grupo de Usuarios de SQL-Server y .NET
Se harán en levante de España, (Alicante o Murcia)?

"Morena" wrote in message
news:esCP$
Pues exactamente lo que has hecho es lo que yo hice y el código que me da
error no es el que restaura el log sino el que restaura el diferencial y


el
número de la posición es el correcto, ya lo revisé con el RESTORE


HEADERONLY



"Eladio Rincón" wrote in message
news:%
> Hola,
>
> puedes usar la sentencia
> RESTORE HEADERONLY
> FROM disk='c:\backupNorthwind.bak'
>
> para comprobar las copias que tiene el dispositivo:
> donde BackupType:
> 1 = Database
> 2 = Transaction Log
> 4 = File
> 5 = Differential
> Database
> 6 = Differential File
>
> sobre tu problema he detectado lo siguiente:
> el primer mensaje que comentas es que intentas restaurar una copia de


log
> con la instrucción "restore database", para ello deberías usar la
> instrucción "restore log";
>
> y en el último error al usar "restore log" me da la sensación de que no
> especificas el número de fichero...
>
> mira este ejemplo que he hecho con la base de datos Northwind que es
posible
> te sea de ayuda:
>
> use master
> go
> alter database Northwind set RECOVERY FULL
> go
> backup database Northwind to disk='c:\backupNorthwind.bak' with init --


1
> go
> backup database Northwind to disk='c:\backupNorthwind.bak' with
> differential --2
> go
> backup log Northwind to disk='c:\backupNorthwind.bak' --3
> go
> backup log Northwind to disk='c:\backupNorthwind.bak' --4
> go
> backup log Northwind to disk='c:\backupNorthwind.bak' --5
> go
> backup database Northwind to disk='c:\backupNorthwind.bak' with
> differential --6
> go
> backup log Northwind to disk='c:\backupNorthwind.bak' --7
> go
> backup log Northwind to disk='c:\backupNorthwind.bak' --8
> go
> backup log Northwind to disk='c:\backupNorthwind.bak' --9
> go
>
> restore database Northwind2
> from disk='c:\backupNorthwind.bak'
> with file = 1
> , norecovery
> , move 'Northwind' to 'c:orthwind2.mdf'
> , move 'Northwind_log' to 'c:orthwind2.ldf'
> go
> restore database Northwind2
> from disk='c:\backupNorthwind.bak'
> with file = 6
> , norecovery
> go
> restore log Northwind2
> from disk='c:\backupNorthwind.bak'
> with file = 7
> , norecovery
> go
> restore log Northwind2
> from disk='c:\backupNorthwind.bak'
> with file = 8
> , norecovery
> go
> restore log Northwind2
> from disk='c:\backupNorthwind.bak'
> with file = 9
> go
>
>
>
> Eladio Rincón
> SQL Server MVP
>
> Solid Quality Learning (http://www.solidqualitylearning.com)
> "Comparte lo que sabes, aprende lo que no sepas", FGG
>
> Consulte el histórico del grupo en Google
> http://groups.google.com/groups?gro....sqlserver
>
> ¿Te interesa participar en las reuniones
> del grupo de Usuarios de SQL-Server y .NET
> Se harán en levante de España, (Alicante o Murcia)?
>
> "Morena" wrote in message
> news:
> > 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.
> >
> >
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida