3

私は 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

ウィザードが使用できないスクリプトを生成するとは思わないが、問題を見つけることができないため、明らかな何かが欠けているに違いありません。本を手元に置き、ウィザードを準備して、作成プロセスを 2 回繰り返しましたが、喜びはありません。どんな助けでも大歓迎です。Windows 7 で SQL Server 2008 Management Studio バージョン 10.0.2531.0 を使用しています。

4

1 に答える 1

1

完全バックアップが完了してから 24 時間後に、差分バックアップが実行されていることに気付きました。DIFFERENTIAL バックアップ ジョブの実行時に FULL バックアップ ファイルが存在することを完全に確信していますか? たとえば、バックアップ ファイルを削除する可能性のあるクリーンアップ ジョブまたはプロセスはありますか?

T-SQL を使用して手動で適切な手順を完了することにより、環境内で実際に完全バックアップを実行してから差分バックアップを実行できることを検証することをお勧めします。成功した場合は、問題がメンテナンス プランの実装にのみ何らかの形で存在することを確認できます。

独自のトラブルシューティング作業をさらに支援するために、MSDN フォーラムの次のスレッドも興味深い読み物になる場合があります。

データベースの差分バックアップを実行できません

于 2010-10-19T08:21:54.007 に答える