sql-server - SQL Server维护向导备份计划

标签 sql-server database-backups maintenance-plan

我使用了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

差异备份不运行。它们失败并显示错误,指示差异作业找不到完整备份结果。当差异作业失败时,将发送以下电子邮件报告...
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

我必须缺少一些明显的东西,因为我不希望向导产生不可用的脚本,但是我找不到问题。现在,我手里拿着本书,已经准备好向导,重复了两次创建过程,但是没有乐趣。任何帮助,将不胜感激。我正在Windows 7上使用SQL Server 2008 Management Studio版本10.0.2531.0。

最佳答案

我注意到完全备份完成后的24小时内将执行差异备份。您完全确定执行差异备份作业时已存在完整备份文件吗?例如,您是否有任何清理作业或进程可能删除了备份文件?

我建议您尝试通过使用T-SQL手动完成适当的步骤来验证您是否可以在环境中执行FULL备份,然后再执行DIFFERENTIAL备份。如果成功,则可以确保问题仅在维护计划实施中存在。

为了进一步帮助您自己进行故障排除,您还可以从MSDN论坛中找到以下有趣的主题。

Cannot perform a differential backup for database

关于sql-server - SQL Server维护向导备份计划,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3961267/

相关文章:

sql-server - 如何在SQL Server中创建维护计划?

database - 同一数据空间内的 postgres 主要升级(9.5.x 到 9.6.x)

sql-server - 将 DDMonYY 和时间转换为 SSIS 包中的日期时间列(派生列)

mysql - SQL Server 组合日期和时间然后进行比较

SQL 按绝对值排序

database - PostgreSQL 9.3 中 b/w pg_basebackup 和 TAR 备份(停止/启动)备份的区别?

c# - 备份和恢复 MS SQL 数据库

sql-server - 根据子表计算汇总字段

php - 如何使用 codeigniter "dbutil"类备份另一个数据库?

sql-server - Sql Server维护计划中的重组索引与重建索引