0

我使用 Windows 调度程序创建了一个自动备份任务,以使用 .bat 备份我的数据库。

在我的备份文件夹中有 7 个子文件夹(星期一、星期二、星期三...)来保存每日备份数据库。

如何删除上周的数据库并保持最新版本?比如今天是星期四,我想删除上个星期四的db,保留今天的db?

这是 .bat 命令?

sqlcmd -S NATE-PC\SQLEXPRESS2008R2 -U user1 -P user -i C:\scheduled\schedule.sql

del d:\Backup\db_backup_*.bak ?? what should I write here

这是为了每天运行的 sql 查询

   DECLARE @pathName NVARCHAR(512) 
SET @pathName = 'D:\Backup\db_backup\' + DATENAME(DW,GETDATE())+'\'+ Convert(varchar(8), GETDATE(), 112) + '.bak' 
BACKUP DATABASE [LEWREDB] TO  DISK = @pathName WITH NOFORMAT, NOINIT,  NAME = N'db_backup', SKIP, NOREWIND, NOUNLOAD,  STATS = 10
4

1 回答 1

0

试试这个删除命令

forfiles /p "d:\Backup" /m "db_backup_*.bak" /c "cmd /c Del @path " /d -7

这里是描述

于 2012-05-03T10:52:23.597 回答