Buenos días,
Tengo un problema a la hora de restaurar un backup completo en el momento en que
le quiero añadir la parte diferencial a partir de dos archivos, mi versión de sql
es SQL server 2005 sobre un sistema operativo Windows Server 2003, si hago la
restauración de files and filegroups desde base de datos, se listan debajo las
copias de seguridad full y diferenciales, y se pueden restaurar al gusto siempre
que esté marcada la completa, sin embargo si intento hacer la restauración from
device a partir de dos archivos, me saca el siguiente mensaje de error:
An exception ocurred while executing a Transact-SQL statement or batch
Si hago la restauración de database en vez de files and filegroups tengo el mismo
error, pero ésta vez con más información:
An exception ocurred while executing a Transact-SQL statement or batch.
(Microsoft.SqlServer.ConnectionInfo)
Additional information:
The volume on device 'C:Program FilesMicrosoft SQL
ServerMSSQL.1MSSQLBackupnombre de mi bbdd FULL' is not part of a multiple
family media set. BACKUP WITH FORMAT can be used to form a new media set.
RESTORE HEADERONLY is terminating abnormally. (Microsoft SQL Server, Error: 3259)
También he de añadir que procediendo a restaurar sólo la copia FULL sin agregar
archivo diferencial, la restauración se procede OK, una vez restaurada, intento
restaurar sobre ella un archivo cuyo contenido es la parte diferencial obteniendo
el siguiente error:
Restore failed from Server 'Nombredemiserver'. (Microsoft.SqlServer.Smo)
Additional information:
System.Data.SqlClient.SqlError: The log or differential backup cannot be restored
because no files are ready to rollforward.
Todas estas pruebas han sido realizadas con copias de seguridad hechas de forma
automática con el agente SQL, pero la finalidad es hacerlo mediante tareas
programadas que ejecutan un script que realiza los backups de la siguiente forma:
- Cada domingo 1 backup completo que se almacena en un archivo en el cual se
indica el año/mes/día y la insignia FULL.
- Cada día de la semana 1 backup diferencial que se almacena en otro archivo en el
cual se indica el año/mes/día y la insignia DIFF.
Sospecho que éstos errores pueden estar producidos por los parámetros de
realización del backup, de modo que incluyo el script que utilizo para realizar
éstas copias:
SCRIPT PARA FULL:
DECLARE @fecha VARCHAR(250)
DECLARE @archivo VARCHAR(250)
SET @fecha = CONVERT(VARCHAR(10), GETDATE(), 112)
SET @archivo = 'C:Archivos de programaMicrosoft SQL
ServerMSSQL.1MSSQLBackup'+ @fecha +' - BBDD - Full Database.bak'
BACKUP DATABASE [bbdd] TO DISK = @archivo WITH NOFORMAT, INIT, NAME =
N'BBDD-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10
GO
SCRIPT PARA DIFERENCIAL:
DECLARE @fecha VARCHAR(250)
DECLARE @archivo VARCHAR(250)
SET @fecha = CONVERT(VARCHAR(10), GETDATE(), 112)
SET @archivo = 'C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLBackup'+
@fecha +' -BBDD - Diff Database.bak'
BACKUP DATABASE [bbdd] TO DISK = @archivo WITH DIFFERENTIAL, INIT, NAME =
N'bbdd-Diff Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10
GO
Por favor, si alguien me pudiera ayudar, lo agradecería.