我正在尝试创建一个备份计划,每天两次创建一个完整的备份。每小时进行一次差异备份,每5分钟备份一次日志。
它工作得很好,但是我注意到日志备份(.trn文件)每次都在增长和增长。

如果我使用backup log with init,它会覆盖并得到最近的错误。
我认为在另一次完整备份或差异备份之后,下一次日志备份将只包括日志备份“自上次完整/差异备份”吗?
BACKUP DATABASE
lagerdb
TO DISK = N'C:\SQLBACKUP\lagerdb-rechts.bak'
WITH INIT, NOUNLOAD, NAME = N'lagerdb full', NOSKIP, STATS = 20, NOFORMAT
BACKUP DATABASE
lagerdb TO DISK = N'c:\SQLBACKUP\lagerdbd-rechts.bak'
WITH INIT, NOUNLOAD, NAME = N'lagerdb differential', NOSKIP, STATS = 20, NOFORMAT, DIFFERENTIAL
BACKUP LOG
lagerdb
TO DISK = N'C:\SQLBACKUP\lagerdb-rechts.trn'
WITH NAME = N'lagerdb logs'我用下面的建议做了一些事情,用日期时间戳备份日志以分离文件:
-- Declares a string
declare @sql nvarchar(255)
declare @ParmDefinition NVARCHAR(500)
-- declares the path name. Seperated by disk drive and directory.
declare @bkName varchar(255)
-- Declares the filename.
declare @bkdbName varchar(50)
declare @bkdbDateTime varchar(20)
--Get Timestring
set @sql = N'select @parm1OUT = CONVERT(varchar(20),CONVERT(DATE,GETDATE(),104),104) + ''_'' + Substring(CONVERT(varchar(8),getdate(),114),1,2) + Substring(CONVERT(varchar(8),getdate(),114),4,2)'
SET @ParmDefinition=N'@parm1OUT varchar(20) OUTPUT'
exec sp_executesql
@sql,
@ParmDefinition,
@parm1OUT=@bkdbDateTime OUTPUT
set @bkdbName = 'LagerDB_' + @bkdbDateTime
-- Enter the Drive letter below. Please remove C: as current value.
set @bkName = 'C:'
-- Enter the folder name below (with lead and end '\' back slashes.
-- Ensure that you change the folder from Temp below.
set @bkName = @bkName + '\SQLBackup\'
set @bkName = @bkName + @bkdbName
-- Sets the backup running by executing the @sql string.
set @sql = 'BACKUP DATABASE lagerdb TO DISK = '''+@bkName+'.bak'''
print @sql
exec sp_executesql @sql(例如:LagerDB_06.12.2011_1418.bak)
但我真正想要的答案是,我认为它会在完全备份后重置。也许我应该在完全备份或差异备份之后安排一个backup with init?
发布于 2011-12-06 11:28:07
您正在重复地将日志备份到同一个文件。随后的备份将被附加到该文件中,这就是您在屏幕截图中可以看到的。通常,我们倾向于备份到过时的文件:
BACKUP LOG
lagerdb
TO DISK = N'C:\SQLBACKUP\lagerdb-rechts_201112061130.trn'
WITH NAME = N'lagerdb logs'省去手工操作所需脚本的麻烦,并使用Ola Hallengren维修解决方案。
https://dba.stackexchange.com/questions/8821
复制相似问题