2010-10-18 5 views
3

J'ai utilisé l'assistant de maintenance de SQL Server (avec un livre) pour générer des sauvegardes complètes et différentes. La sauvegarde complète se déroule le lundi matin et les différentiels se déroulent du mardi au samedi. La sauvegarde complète fonctionne correctement et génère le rapport de courrier électronique suivant ...Plans de sauvegarde de l'assistant de maintenance SQL Server

Microsoft(R) Server Maintenance Utility (Unicode) Version 10.0.2531 Report was generated on "WIN-F9U4VJXGWF5". 
Maintenance Plan: FIREDataFB 
Duration: 00:31:31 
Status: Succeeded. 
Details: 
Clean Up History (WIN-F9U4VJXGWF5) 
Cleanup history on Local server connection History type: Backup,Job,Maintenance Plan 
Age: Older than 1 Weeks 
Task start: 2010-10-11T03:30:03. 
Task end: 2010-10-11T03:30:03. 
Success 
Command:declare @dt datetime select @dt = cast(N''2010-10-04T03:30:02'' as datetime) exec msdb.dbo.sp_delete_backuphistory @dt GO EXEC msdb.dbo.sp_purge_jobhistory @oldest_date=''2010-10-04T03:30:02'' 
GO 
EXECUTE msdb..sp_maintplan_delete_log null,null,''2010-10-04T03:30:02'' 
GO 

Back Up Database (Full) (WIN-F9U4VJXGWF5) Backup Database on Local server connection 
Databases: FIREData 
Type: Full 
Append existing 
Task start: 2010-10-11T03:30:03. 
Task end: 2010-10-11T04:01:33. 
Success 
Command:EXECUTE master.dbo.xp_create_subdir N''F:\SQL Backups\FIREData'' 

GO 
BACKUP DATABASE [FIREData] TO DISK = N''F:\SQL Backups\FIREData\FIREData_backup_2010_10_11_033003_7444370.bak'' WITH NOFORMAT, NOINIT, NAME = N''FIREData_backup_2010_10_11_033003_7424370'', SKIP, REWIND, NOUNLOAD, STATS = 10 GO declare @backupSetId as int select @backupSetId = position from msdb..backupset where database_name=N''FIREData'' and backup_set_id=(select max(backup_set_id) from msdb..backupset where database_name=N''FIREData'') if @backupSetId is null begin raiserror(N''Verify failed. Backup information for database ''''FIREData'''' not found.'', 16, 1) end RESTORE VERIFYONLY FROM DISK = N''F:\SQL Backups\FIREData\FIREData_backup_2010_10_11_033003_7444370.bak'' WITH FILE = @backupSetId, NOUNLOAD, NOREWIND 

GO 

Les sauvegardes différentielles ne sont pas exécutées. Ils échouent avec une erreur indiquant que les travaux différentiels ne peuvent pas trouver le résultat de la sauvegarde complète. Le rapport e-mail suivant est envoyé lorsqu'un travail différentiel échoue ...

Microsoft(R) Server Maintenance Utility (Unicode) Version 10.0.2531 Report was generated on "WIN-F9U4VJXGWF5". 
Maintenance Plan: FIREDataDB 
Duration: 00:00:01 
Status: Warning: One or more tasks failed. 
Details: 
Back Up Database (Differential) (WIN-F9U4VJXGWF5) Backup Database on Local server connection 
Databases: FIREData 
Type: Differential 
Append existing 
Task start: 2010-10-12T03:30:03. 
Task end: 2010-10-12T03:30:03. 
Failed:(-1073548784) Executing the query "BACKUP DATABASE [FIREData] TO DISK = N'F:\\SQL Bac..." failed with the following error: "Cannot perform a differential backup for database "FIREData", because a current database backup does not exist. Perform a full database backup by reissuing BACKUP DATABASE, omitting the WITH DIFFERENTIAL option. 
BACKUP DATABASE is terminating abnormally.". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly. 

Command:EXECUTE master.dbo.xp_create_subdir N''F:\SQL Backups\FIREData'' 

GO 
BACKUP DATABASE [FIREData] TO DISK = N''F:\SQL Backups\FIREData\FIREData_backup_2010_10_12_033003_4624370.bak'' WITH DIFFERENTIAL , NOFORMAT, NOINIT, NAME = N''FIREData_backup_2010_10_12_033003_4604370'', SKIP, REWIND, NOUNLOAD, STATS = 10 GO declare @backupSetId as int select @backupSetId = position from msdb..backupset where database_name=N''FIREData'' and backup_set_id=(select max(backup_set_id) from msdb..backupset where database_name=N''FIREData'') if @backupSetId is null begin raiserror(N''Verify failed. Backup information for database ''''FIREData'''' not found.'', 16, 1) end RESTORE VERIFYONLY FROM DISK = N''F:\SQL Backups\FIREData\FIREData_backup_2010_10_12_033003_4624370.bak'' WITH FILE = @backupSetId, NOUNLOAD, NOREWIND 

GO 

Je dois manquer quelque chose d'évident parce que je ne serais pas attendre l'assistant pour produire des scripts inutilisables, mais je ne peux pas trouver le problème. J'ai répété deux fois le processus de création avec le livre en main et le Sorcier prêt, mais pas de joie. Toute aide serait appréciée. J'utilise SQL Server 2008 Management Studio version 10.0.2531.0 sur Windows 7.

Répondre

1

Je remarque que votre sauvegarde DIFFERENTIAL est en cours d'exécution 24 heures après la fin de votre sauvegarde complète. Êtes-vous absolument certain que le fichier de sauvegarde FULL existe au moment de l'exécution du job de sauvegarde DIFFERENTIAL? Par exemple, avez-vous des tâches de nettoyage ou des processus qui auraient pu supprimer le fichier de sauvegarde?

Je vous suggère de tenter de valider que vous pouvez effectuer une sauvegarde complète, suivie d'une sauvegarde DIFFERENTIELLE, au sein de votre environnement en effectuant les étapes appropriées manuellement en utilisant T-SQL. En cas de succès, vous pouvez alors être sûr que le problème existe uniquement d'une manière ou d'une autre avec la mise en œuvre de votre plan de maintenance.

Pour vous aider à résoudre vos problèmes de dépannage, vous pouvez également trouver dans les forums MSDN le fil de discussion suivant.

Cannot perform a differential backup for database

Questions connexes