0

Windows スケジューラを使用して自動バックアップ タスクを作成し、.bat を使用してデータベースをバックアップしました。

バックアップ フォルダー内には、毎日のバックアップ データベースを保持するための 7 つのサブフォルダー (月曜日、火曜日、水曜日...) があります。

先週のデータベースを削除して最新バージョンを維持するには? たとえば、今日は木曜日ですが、先週の木曜日のデータベースを削除して、今日のデータベースを保持したいですか?

これが .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 に答える