小编cus*_*sco的帖子

过去 5 天的 SQL Server 备份作业

我们一直在 SQL Server 2012 上进行每晚备份作业,但它附加到.bak文件而不是覆盖,所以在谷歌搜索时我发现master.dbo.xp_delete_file

我注意到我可以在date参数之前一次删除多个备份

我想保留 3 天,因此删除如下:

declare @dt datetime
select @dt=getdate()-3
EXECUTE master.dbo.xp_delete_file 0,N'D:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup\',N'bak',@dt,1
Run Code Online (Sandbox Code Playgroud)

看起来一切正常,但是对于备份,我可以创建这样的文件名吗?(注意 CONCAT() 中的 @today )

declare today varchar(10);
SELECT @today=CONVERT(char(10), GetDate(),126);

BACKUP DATABASE perfMaster TO DISK = CONCAT('D:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup\perfMaster_',@today,'.bak' 
WITH NOFORMAT, NOINIT,  
NAME = N'Full Database perfMaster Backup', SKIP, NOREWIND, NOUNLOAD,  STATS = 20
Run Code Online (Sandbox Code Playgroud)

或者您使用什么方法来完成具有几天历史的备份?

sql-server backup

2
推荐指数
2
解决办法
7954
查看次数

标签 统计

backup ×1

sql-server ×1