sql backup

После создания нескольких web-проектов и, размещения их на выделенном сервере, у меня встал вопрос о бэкапировании баз данных, так как в них хранится вся основная информация по проектам. Вот какое решение я нашел для наших проектов:

  1. В интернете я нашел sql-скрипт, позволяющий забэкапить все имеющиеся базы данных. Вот его исходный код. Выбираем базу данных master, создаем хранимую процедуру spBackupAllDatabases и необходимые таблицы.
  2. Далее, создаем sql-файл backup.sql следующего содержания:
    use [master]
    exec spBackupAllDatabases 'c:\Backup\', 'Full'
    
    И исполняемый bat-файл backup.bat следующего содержания:
    cd c:\backup
    del *.rar
    del result.txt
    sqlcmd -S .\sqlexpress -i c:\backup\backup.sql -o c:\backup\result.txt
    "c:\Program Files\WinRAR\rar.exe" a -r -df c:\backup\backup.rar c:\backup\*.bak
    
  3. Последним этапом будет настроить планировщик заданий Windows (Task Scheduler) на выполнение bat-файла, указать периодичность, я ставлю такие задания на 4 часа утра.

Это все! Теперь ваши архив ваших баз будет ежедневно складываться в папку c:\backup\. Ошибки - в файл result.txt. Было бы не плохо завести отдельный ftp-сервер и выкладывать туда эти бэкапы, но пока как-то руки не доходят, если у вас есть аналогичный решения - буду рад их прочитать в комментариях.

Удачных вам веб-проектов.