SQL Server - SqlServer2008.Problema Backup Transaccional

 
Vista:

SqlServer2008.Problema Backup Transaccional

Publicado por Jose M. (65 intervenciones) el 03/05/2010 10:18:43
Buenos días, tras haber migrado de sql 2000 al 2008 veo que no todo funciona con la misma sistemática.

Ahora con el 2008 me falla muy a menudo los backups transaccionales de las bases de datos.

La programación la tengo de la siguiente manera:

BBDD A: Completa todos los días a las 02.00 AM
BBDD A: Diferencial todos los días a las 11.30 AM
BBDD A: Transaccional todos los días, se hace cada 2 horas.

Antes me funcionaba bien, pero en el sql 2000.
Tb he leído algo de que la copia trn sólo funciona bien si es justo después de haberse realizado el backup completo.

Ya ando mirando por internet pero no me aclaro si es un problema o una mala gestión por mi parte.

Gracias por adelantado.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:SqlServer2008.Problema Backup Transaccional

Publicado por Jose M. (65 intervenciones) el 03/05/2010 10:22:22
Perdón, se me olvidó adjuntar el error:

Mensaje
Ejecutando la consulta "EXECUTE master.dbo.xp_create_subdir N'E:\Backup BB...".: 100% finalizados Fin de progreso Error: 2010-05-02 22:00:01.30 Código: 0xC002F210 Origen: Tarea Copia de seguridad de la base de datos Tarea Ejecutar SQL Descripción: Error al ejecutar la consulta "BACKUP LOG [BBDD_A] TO DISK = N'E:\Backup BBDD\A...": "BACKUP LOG cannot be performed because there is no current database backup. BACKUP LOG is terminating abnormally.". Posibles motivos del error: problemas con la consulta, la propiedad "ResultSet" no fue establecida correctamente, parámetros no establecidos correctamente o conexión mal establecida. Fin de error DTExec: la ejecución del paquete devolvió DTSER_FAILURE (1). Iniciado: 22:00:00 Finalizado: 22:00:01 Transcurrido: 1.047 segundos. Error de ejecución del paquete. No se pudo realizar el paso.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

RE:SqlServer2008.Problema Backup Transaccional

Publicado por Isaias (4557 intervenciones) el 05/05/2010 02:41:28
¿Que metodo utlizaste para migrar de 2000 a 2008?, si fue un simple backup-restore, ¿Cambiaste el nivel de compatibilidad?, Antes de "migrar", ¿aplicaste UPGRADE ADVISOR en tu motor 2000?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:SqlServer2008.Problema Backup Transaccional

Publicado por Jose M. (65 intervenciones) el 05/05/2010 08:00:41
Separé las bbdd y las puse en el 2008.

Y las tareas programadas las generé en el 2008, no las podía importar del 2000.

Las opciones que me comentas son desconocidas para mí. Mientras espero alguna respuesta para saber por dónde está problema me adelantare buscando información sobre lo que me has dicho ahora.

Gracias nuevamente Isaias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

RE:SqlServer2008.Problema Backup Transaccional

Publicado por Isaias (4557 intervenciones) el 06/05/2010 18:37:36
Revisa el NIVEL DE COMPATIBILIDAD de tu base, que seguramente esta en 80 y debe ser 90 (2005) o 100 (2008).

Ademas de re-crear los indices y los estadisticos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:SqlServer2008.Problema Backup Transaccional

Publicado por Jose M. (65 intervenciones) el 11/05/2010 17:57:41
Buenas Isaias, he hecho algunos pasos pero de momento el problema persiste.

No aplique upgrade advisor, desconocia de esa herramienta hasta que lo comentaste.
El nivel de compatibilidad ahora lo acabo de corregir, es dificil en mi empresa poner a la gente sin conexion a la bbdd. Ya está en compatibilidad 100 (sql 2008), antes de ponerlo puse la bbdd en acceso unico para evitar problemas).

Podrías especificarme un poco lo último que dijiste en cuanto a las estadisticas e indices? Muchas gracias de antemano.

P.D.- se aprende mucho en este foro gracias a gente como tu.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

RE:SqlServer2008.Problema Backup Transaccional

Publicado por Isaias (4557 intervenciones) el 11/05/2010 18:41:11
Cada que tu mueves una base, es recomendable crear nuevamente las estaditicas.

EXEC SP_UPDATESTATS

Tambien, crear los indices,

sp_msforeachtable ‘ALTER INDEX ALL ON ? REBUILD WITH (FILLFACTOR = 80)’
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:SqlServer2008.Problema Backup Transaccional

Publicado por Jose M. (65 intervenciones) el 12/05/2010 16:45:16
El problema con los backups transaccionales persiste. El registro del error dice lo siguiente:

Error:(-1073548784) Error al ejecutar la consulta "BACKUP LOG [bbdd] TO DISK = N'E:\\Backup BBDD\\...": "BACKUP LOG cannot be performed because there is no current database backup.
BACKUP LOG is terminating abnormally.". Posibles motivos del error: problemas con la consulta, la propiedad "ResultSet" no fue establecida correctamente, parámetros no establecidos correctamente o conexión mal establecida.

Ya he actualizado estadisticas como bien comentaste con las instrucciones y reorganicé los indices.

Que por cierto, por si a alguien le interesa, pongo un script para reorganizar indices de todas las tablas de la bbdd y no tener que hacerlo de una en una.

USE TuBBDD

DECLARE @TableName varchar(255)

DECLARE TableCursor CURSOR FOR
SELECT table_name FROM information_schema.tables
WHERE table_type = 'base table'

OPEN TableCursor

FETCH NEXT FROM TableCursor INTO @TableName
WHILE @@FETCH_STATUS = 0
BEGIN
DBCC DBREINDEX(@TableName,' ',80)
FETCH NEXT FROM TableCursor INTO @TableName
END

CLOSE TableCursor

DEALLOCATE TableCursor
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

RE:SqlServer2008.Problema Backup Transaccional

Publicado por Isaias (4557 intervenciones) el 13/05/2010 00:35:24
¿Estas intentando crear un backup en un disco de la red?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:SqlServer2008.Problema Backup Transaccional

Publicado por Jose M. (65 intervenciones) el 13/05/2010 09:01:08
No, es en local, en una de las particiones, en E:\.
Me imagino que lo preguntas porque en el registro que puse se ve E:\\. No entiendo eso.

Aquí pongo el script que genera para hacer el Backup.

EXECUTE master.dbo.xp_create_subdir N'E:\Backup BBDD\Transaccionales\BBDD_A'
GO
BACKUP LOG [BBDD_A] TO DISK = N'E:\Backup BBDD\Transaccionales\BBDD_A\BBDD_A_backup_2010_05_13_085702_1583610.trn' WITH RETAINDAYS = 2, NOFORMAT, NOINIT, NAME = N'BBDD_A_backup_2010_05_13_085702_1583610', SKIP, REWIND, NOUNLOAD, STATS = 10
GO
declare @backupSetId as int
select @backupSetId = position from msdb..backupset where database_name=N'BBDD_A' and backup_set_id=(select max(backup_set_id) from msdb..backupset where database_name=N'BBDD_A' )
if @backupSetId is null begin raiserror(N'Error de comprobación. No se encuentra la información de copia de seguridad para la base de datos ''BBDD_A''.', 16, 1) end
RESTORE VERIFYONLY FROM DISK = N'E:\Backup BBDD\Transaccionales\BBDD_A\BBDD_A_backup_2010_05_13_085702_1583610.trn' WITH FILE = @backupSetId, NOUNLOAD, NOREWIND

----- Comento como tema a tener en cuenta, que si manualmente hago un backup completo de la bbdd, y seguidamente ejecuto este backup transaccional, se hace correctamente. Pero después, si de forma seguida ejecuto de nuevo el backup transaccional, falla.

Hay alguna regla predeterminada en Sql 2008 que exija un backup completo justo antes de un backup transaccional???
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:SqlServer2008.Problema Backup Transaccional

Publicado por Jose M. (65 intervenciones) el 13/05/2010 10:07:15
Hola de nuevo, pienso que ya tengo solucionado el problema.

Es posible que dependiendo de la frecuencia de backup trn, si pasa mucho tiempo, el backup trn ocupa más que el backup completo, por lo que sql server 2008 lo impide.

Yo lo tenia cada 2 o 3 horas teniendo mucho movimiento en la bbdd. Ahora lo he cambiado, cada 15minutos. De momento no me está dando problemas.

La solución la saqué viendo el siguiente comentario:

Sometimes a transaction log backup is larger than a database backup. For example, a database has a high transaction rate causing the transaction log to grow quickly. In this situation, create transaction log backups more frequently.

Muchas muchas gracias por el apoyo Isaías, espero que mi caso sirva de precedente para otros.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

RE:SqlServer2008.Problema Backup Transaccional

Publicado por Isaias (4557 intervenciones) el 14/05/2010 23:21:29
Sin duda que servira mucho nuestros comentarios para muchos del foro.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar