Создание бэкапов по расписанию в MS SQL Express
DECLARE @pathName NVARCHAR(512) SET @pathName = 'C:\Backup\dbbackups\db_backup_' + Convert(varchar(8), GETDATE(), 112) + '.bak' BACKUP DATABASE [test] TO DISK = @pathName WITH NOFORMAT, NOINIT, NAME = N'db_backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10
Этот скрипт создает бекап с именем файла db_backup_YYYYDDMM.bak где YYYYDDMM — это текущая дата. Дата в имени файла позволит нам создавать каждый день бекап в новом файле. Запустите и проверьте что бекап действительно создается такой какой вам и нужен. Этот скрипт сохраняем в какой-нибудь папке под именем sqlexpressbackups.sql, предположим C:\Backup\. В этой же папке создадим исполняемый файл backup.bat, следующего содержания:
REM Удалить файлы старше 15 дней ForFiles /p "C:\Backup\dbbackups" /s /d -15 /c "cmd /c del @file" REM Создание бэкапа БД MSSQL sqlcmd.exe -S (local)\SQLEXPRESS -i C:\Backup\sqlexpressbackups.sql