Principales respuestas
Restaurar base de datos SQL Server 2005 con diferencial

Pregunta
-
Buenas,
Tengo unas copias de seguridad de una base de datos Full y Diferencial, la full estaba programada para hacerse todos los sabados y las diferenciales todos los dias.
El problema esta uando intento restaurar la base de datos primero restaurando la full con la opcion NONRECOVERY y la diferencial con la opcion RECOVERY y cuando intento restaurar la diferencial me salta el error:
No se pudo restaurar la copia de seguridad diferencial porque la base de datos no se ha restaurado al estado anterior correcto.
¿En que podria estar el problema?
Sludos y gracias de antemano.
This differential backup cannot be restored because the database has not been restored to the correct earlier state - See more at: http://www.errortoenglish.com/es/Y3G8V9K2/No-se-puede-restaurar-la-copia-de-seguridad-diferencial-porque-la-base-de-datos-no-se-ha-restaurado-al-estado-anterior-correcto.aspx#sthash.Zy0i5UMt.dpuf
Respuestas
-
Hola.
Se me ocurre que se haya realizado algún otro backup completo posterior al que has restaurado, siendo eso lo que impida la restauración del diferencial.
Alberto López Grande
SQL Server MVP
Visita mi blog en http://qwalgrande.com
Sígueme en twitter en http://twitter.com/qwalgrande- Marcado como respuesta Alberto López Grande (qwalgrande)Moderator domingo, 14 de septiembre de 2014 13:22
-
>>
El Full es del 23 de agosto y el diferencial es del 25 de agosto el 24 que es domingo no se hizo ningun backup ni full ni diferencial.
<<
¿Seguro?
¿Qué resultado da esta consulta?
USE [MiBaseDeDatos] -- Get Backup History for required database SELECT TOP 100 s.database_name, m.physical_device_name, CAST(CAST(s.backup_size / 1000000 AS INT) AS VARCHAR(14)) + ' ' + 'MB' AS bkSize, CAST(DATEDIFF(second, s.backup_start_date, s.backup_finish_date) AS VARCHAR(4)) + ' ' + 'Seconds' TimeTaken, s.backup_start_date, CAST(s.first_lsn AS VARCHAR(50)) AS first_lsn, CAST(s.last_lsn AS VARCHAR(50)) AS last_lsn, CASE s.[type] WHEN 'D' THEN 'Full' WHEN 'I' THEN 'Differential' WHEN 'L' THEN 'Transaction Log' END AS BackupType, s.server_name, s.recovery_model FROM msdb.dbo.backupset s INNER JOIN msdb.dbo.backupmediafamily m ON s.media_set_id = m.media_set_id WHERE s.database_name = DB_NAME() -- Remove this line for all the database ORDER BY backup_start_date DESC, backup_finish_date
- Marcado como respuesta Alberto López Grande (qwalgrande)Moderator domingo, 14 de septiembre de 2014 13:22
Todas las respuestas
-
Hola.
Se me ocurre que se haya realizado algún otro backup completo posterior al que has restaurado, siendo eso lo que impida la restauración del diferencial.
Alberto López Grande
SQL Server MVP
Visita mi blog en http://qwalgrande.com
Sígueme en twitter en http://twitter.com/qwalgrande- Marcado como respuesta Alberto López Grande (qwalgrande)Moderator domingo, 14 de septiembre de 2014 13:22
-
Hola.
El Full es del 23 de agosto y el diferencial es del 25 de agosto el 24 que es domingo no se hizo ningun backup ni full ni diferencial.
No se si las bases del sistema influllen tambien e esto como la master, model y la msdb.
Saludos.
- Editado ErikNeller viernes, 29 de agosto de 2014 12:45
-
Seguramente Alberto estará en lo cierto. Para evitar que vuelva a pasar, cuando se hace una copia de seguridad completa con otros fines que no sean parte del plan de recuperación de desastres, por ejemplo, llevarse la base de datos a otra instancia, debería utilizarse la opción COPY ONLY:
BACKUP DATABASE MiBaseDeDatos TO DISK = 'La ruta' WITH COPY_ONLY
Cuando se usa esta opción la siguiente copia de seguridad diferencial no se basará en esta copia completa, sino en la última copia de seguridad completa que no se haya realizado con la opción COPY ONLY.
EntityLite: A Lightweight, Database First, Micro ORM
- Editado Jesús López viernes, 29 de agosto de 2014 12:48
-
-
>>
El Full es del 23 de agosto y el diferencial es del 25 de agosto el 24 que es domingo no se hizo ningun backup ni full ni diferencial.
<<
¿Seguro?
¿Qué resultado da esta consulta?
USE [MiBaseDeDatos] -- Get Backup History for required database SELECT TOP 100 s.database_name, m.physical_device_name, CAST(CAST(s.backup_size / 1000000 AS INT) AS VARCHAR(14)) + ' ' + 'MB' AS bkSize, CAST(DATEDIFF(second, s.backup_start_date, s.backup_finish_date) AS VARCHAR(4)) + ' ' + 'Seconds' TimeTaken, s.backup_start_date, CAST(s.first_lsn AS VARCHAR(50)) AS first_lsn, CAST(s.last_lsn AS VARCHAR(50)) AS last_lsn, CASE s.[type] WHEN 'D' THEN 'Full' WHEN 'I' THEN 'Differential' WHEN 'L' THEN 'Transaction Log' END AS BackupType, s.server_name, s.recovery_model FROM msdb.dbo.backupset s INNER JOIN msdb.dbo.backupmediafamily m ON s.media_set_id = m.media_set_id WHERE s.database_name = DB_NAME() -- Remove this line for all the database ORDER BY backup_start_date DESC, backup_finish_date
- Marcado como respuesta Alberto López Grande (qwalgrande)Moderator domingo, 14 de septiembre de 2014 13:22
-
Tendrías que conseguir la última copia de seguridad completa que se hizo antes de la diferencial
-
-
Hola.
¿Puedes facilitarnos el resultado de la sentencia que te facilitó Jesús?
Alberto López Grande
SQL Server MVP
Visita mi blog en http://qwalgrande.com
Sígueme en twitter en http://twitter.com/qwalgrande -
Hola ErikNeller,
Gracias por consultar por acá, ¿Has resuelto tu consulta? como comenta Alberto ¿Puedes facilitar el resultado de la sentencia por acá? Si has resuelto tu consulta no olvides compartir tu solución por acá.
Saludos,
Miguel
MSDN/TechNet Soporte Comunidades
Por favor, recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema.
Es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft. Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft