我每天都有计划在sqlserver 2005中备份我的数据库。现在它看起来像这样:
BACKUP DATABASE [db1] TO DISK = N'D:\SqlServer\Backup\db1.bak' WITH NOINIT , NOUNLOAD , NAME = N'db1backup', NOSKIP , STATS = 10, NOFORMAT
但在这种情况下,它会无限增长,我想在文件中只存储最后7个备份。我该怎么做(可能以某种方式删除旧备份)?
答案 0 :(得分:1)
假设您希望每个星期天重新初始化文件(您可以将其更改为您最喜欢的一周),您可以使用以下内容:
declare @init_option nvarchar(50)
declare @cmd nvarchar(1000)
set @init_option = 'NOINIT'
IF (datename(dw, getdate())) = 'Sunday' set @init_option = 'INIT'
set @cmd ='BACKUP DATABASE [db1] TO DISK = N''D:\SqlServer\Backup\db1.bak'' WITH ' + @init_option + ' , NOUNLOAD , NAME = N''db1backup'', NOSKIP , STATS = 10, NOFORMAT'
EXECUTE(@cmd)