Просто оставлю это здесь как ответ (Сценарии всей вашей базы данных в файл .sql (включая данные), а затем сжимают ее с помощью winrar.)
Я создал это решение, которое будет запускаться раз в день из планировщика задач, поэтому оно снижается до ежедневного уровня. Если вы хотите выполнить это больше (например, раз в полчаса), вам нужно отредактировать «% date: ~ -4,4 %% date: ~ -7,2 %% date: ~ -10,2 % ", чтобы перейти на уровень часов / минут / секунд, в зависимости от того, что вам нужно.
ПРИМЕЧАНИЕ. Необходимо установить мастер публикации SQL и Winrar
begin.bat - Оболочка для ведения записи файла журнала. Это командный файл, который будет вызываться планировщиком задач
::Run dbbackup.bat and append all output to log.txt
md C:\[directory]\%date:~-4,4%%date:~-7,2%%date:~-10,2%
"dbbackup.bat" >> "C:\[Directory]\%date:~-4,4%%date:~-7,2%%date:~-10,2%\log.txt"
dbbackup.bat - Резервное копирование базы данных
echo off
cls
echo %date% %time%
echo ***************************************************************************
echo ** Script all objects in databases and save them in 'yyyymmdd' folder **
echo ***************************************************************************
cd C:\[directory]\%date:~-4,4%%date:~-7,2%%date:~-10,2%
"C:\Program Files\Microsoft SQL Server\90\Tools\Publishing\sqlpubwiz.exe" script -C "[ConnectionString]" [dbname]_%date:~-4,4%%date:~-7,2%%date:~-10,2%.sql
echo ***************************************************************************
echo ** RAR compress all .sql script files **
echo ***************************************************************************
"C:\Program Files\WinRAR\WinRAR.exe" -ibck a [dbname]_%date:~-4,4%%date:~-7,2%%date:~-10,2%.rar [dbname]_%date:~-4,4%%date:~-7,2%%date:~-10,2%.sql
echo WinRAR has completed execution
echo ***************************************************************************
echo ** Delete all .sql script files **
echo ***************************************************************************
del *.sql
echo .SQL files deleted
Просто создайте запланированное задание для запуска begin.bat для запуска в любой требуемый интервал времени, и резервная копия базы данных будет записана вместе с файлом журнала.