Problemas con Backup Diferencial

Problemas con Backup Diferencial

Soy nuevo en esto de la administracin de sql server hay un jobs donde los backups diferenciales se realizan cada dia alas 9:30 pm solo ese job corre a esa hora , los jobs estan separado por dia osea "JobDiferencialLunes","JobDiferenciaMartes",el diferencial se guarda en el disco duro, pero me manda el siguiente error:

Executed as user:MISERVIDOR\sqlservices. 10 procesado. [SQLSTATE 01000] (Message 3211) 20 procesado. [SQLSTATE 01000] (Message 3211) Error de escritura en "T:\BackUp_Diferencial\Lunes\MIBDDIF. Bak": 112(error not found) [SQLSTATE 42000] (Error 3202) Fin anómalo de BACKUP DATABASE. [SQLSTATE 42000] (Error 3013). The step failed.

Investigando el problema apararentemente es espacio en disco duro pero, revisando tengo aproximadamente 80 gb de espacio, otro dato importante es que el backup completo es aproximadamente de 160 gb , lo que significa que mi backup diferencial de un dia no se va a llevar 80gb de espacio?

esta es el script que ejecuta el job

BACKUP DATABASE [MIBD] TO DISK = N'T:\BackUp_Diferencial\Lunes\MIBDDIF. Bak' WITH DIFFERENTIAL , NOFORMAT, INIT, NAME =
N'MIBDDIF-Differential Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10

investigando aun mas dice que que hay que cambiar el parametro NOFORMAT A FORMAT , ademas quitar SKIP , el escenario que tengo es el siguiente todo esto lo grabo en cintas , si cambio algun paramentro de estos podria no recuperar los datos de la cinta o bien no poder restaurar?

Cual seria el job correcto para este escenario.?

Saludes

Denis Guido


Comentarios

denisenrique: por que no intentas crearlo mediante management studio .. administración.. planes de mantenimiento..

Hola Denis Guido!
Hay que tener especial cuidado con el tema de los backups diferenciales, pues debe recordase que lo que finalmente se backapea son todos los cambios realizados a la base de datos desde el ultimo Backup Full. Por lo general se utiliza para evitar aplicar los backups transaccionales entre el full y el transaccional. Por lo cual si la actividad de la base de datos es considerable (Por ejemplo mucha actividad de modificacion-insercion de datos) el volumen de los archivos de backup diferenciales puede llegar a ser considerables hasta alcanzar el mismo volumen del ultimo Full.

Por ej: Bck Full Viernes 23:00 -- Bck Log Transaccionales cada una hora de 01 a 22:00 hs - Bck Diferencial Lunes 23:00 -- Bck Log transaccionales cada una hora de 01 a 22 hs.-Bck Diferencial Martes 23:00 hs.- Bck transaccionales cada una hora de 01 a 22 hs.

Se necesita volver la base al martes a las 14:00 hs.

Aplicar Bck Full Viernes 23:00 - Diferencial - Bck Diferencial Lunes 23:00 hs - Bck transaccionales cada una hora de 01 a 14:00.

Recordá siempre probar en un entorno de Laboratorio para verificar el proceso de recovery de datos.

Espero te sirva !.






Prodriguez

por eso utilizo init en el backup diferencial osea borra lo anterior y comienza a escribir lo nuevo

BACKUP DATABASE [MIBD] TO DISK = N'T:\BackUp_Diferencial\Lunes\MIBDDIF. Bak' WITH DIFFERENTIAL , NOFORMAT, INIT, NAME =
N'MIBDDIF-Differential Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10

pregunto tengo que cambiar de noformat a format? sera lo mas apropiado.

Hola !, el init es para reinicializar el archivo físico ... que no tiene nada que ver con un backup diferencial de base de datos, porque como te escribí en líneas anteriores " debe recordase que lo que finalmente backapea son todos los cambios realizados a la base de datos desde el último Backup Full." y si es una base que sufre operaciones de carga y modificacion de datos muy importante, el tamaño del archivo de backup puede llegar a ser igual al del backup Full.

Con respecto a utilizar FORMAT, podes hacerlo.

Te recomiendo que utilices nomenclaturas de archivo que te permitan diferenciar los mismos por ej: MIB_DIF_LUNES.bak, MIB_FULL.bak, en vez de utilizar 'NAME', para que a través del File System puedas clasificar los archivos sin necesidad de ingresar al SQL Server y te sea mas sencilla la administración.

¿ Estas tomando backup full no ?.

Saludos.






Prodriguez

si claro tengo respaldo full todos los lunes a las 5:30 am.
quisiera tu opinion el antiguo DBA dejo los siguiente jobs para respaldo, quisiera entender lo siguiente, y gracias por la ayuda brindada

1.cada dia alas 6:30 de la maña se borra lo que hay en el log de transacciones
BACKUP LOG [MIBD]
TO [MIBD_BKDiario]
WITH NOFORMAT, INIT,NAME = N'MIBD_Registro de transacciones Copia de seguridad', SKIP, NOREWIND, NOUNLOAD, STATS = 10, CHECKSUM, CONTINUE_AFTER_ERROR

2.tenemos un backup de log transaccional cada 20 minutos inicia alas 07:20 a.m y termina a las 08:40 pm
BACKUP LOG [MIBD]
TO [MIBD_BKDiario]
WITH NOFORMAT, NOINIT,NAME = N'MIBD-Registro de transacciones Copia de seguridad', SKIP, NOREWIND, NOUNLOAD, STATS = 10, CHECKSUM, CONTINUE_AFTER_ERROR

3.luego ese respaldo de log lo copio a una carpeta aparte esta operacion se realiza a las 10:00 pm
copy /Y L:\DB_Backup\MIBD_BKDiario.bak Z:\Backup_Diferencial\Lunes\
Nota:al dia siguiente martes inicializa el log de transacciones(ver pto 1) no queda nada del lunes segun el comando init. y asi sucesivamentes realiza esta misma operacion para martes,miercoles ,jueves y viernes en sus correspondientes carpeta

4.a las 9:30 pm realiza el backup diferencial de lunes hasta viernes
BACKUP DATABASE [MIBD] TO DISK = N'T:\BackUp_Diferencial\Lunes\MIBDBackupDif.bak' WITH DIFFERENTIAL , NOFORMAT, INIT, NAME =
N'MIBD-Differential Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10

5.todos los lunes a las 5:30 a.m. se realiza el Backup completo de la base de datos

BACKUP DATABASE [MIBD] TO [BackupDeviceMIBDFull] WITH NOFORMAT, INIT, NAME = N'MIBD-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10

te pregunto esto porque me estan dando muchos errores los jobs, quisiera saber si es por los parametros que utilizo, o si conoces mejor otro parametros para las diferentes operaciones.

Seguro de tu atencion

Denis Guido