Назад | Перейти на главную страницу

Как преодолеть отсутствие службы планирования заданий агента SQL в SQL Express Edition?

Мы хотим запланировать резервное копирование базы данных sql, как вы можете это сделать с помощью службы планирования заданий агента SQL. Есть ли способ сделать это резервное копирование в выпуске SQL 2005 Express?

Я работал над этим двумя способами:

  • Вы можете использовать запланированные задачи Windows для выполнения сценария с помощью SQLCMD.
  • Если у вас есть другие серверы SQL Server, отличные от редакции Express, вы можете создавать планы обслуживания на тех серверах, которые указывают на сервер Express.

У меня была эта проблема несколько лет назад, и с тех пор я использую простой командный файл и sql-скрипт.

Я написал сообщение об этом здесь с включенными скриптами и пошаговым руководством: http://www.diaryofaninja.com/blog/2011/02/14/howto-quick-amp-dirty-sql-express-scheduled-backup

в основном я делаю следующее: - пишу хранимую процедуру, которая выполняет резервное копирование указанной базы данных - пишу sql-скрипт, который вызывает это для каждой из баз данных, которые я хочу сделать резервную копию - вызывать вышеуказанный скрипт с помощью sqlcmd.exe с использованием запланированной задачи

это позволяет мне выбирать, когда это происходит по расписанию, и запускать разные базы данных, когда я хочу

затем вы можете использовать ftp-клиент с поддержкой сценариев, например WinSCP (http://winscp.net/), чтобы создать другое расписание, которое загружает резервные копии с помощью FTP или SFTP (гораздо более безопасного).

Вы можете создать сценарий резервного копирования и использовать для этого запланированное задание. Вот пример того, что использовать в качестве команды для вашей задачи с помощью инструмента командной строки osql (или что поместить в командный файл):

osql -s myserver -E -Q " BACKUP DATABASE MyDB TO DISK = 'C:\SQLBackups\MyDB.bak'"

Вот справочная страница MSDN для Оператор SQL 2005 BACKUP если вам нужно включить в резервную копию больше параметров, чем в самом простом заявлении выше.

Вы можете использовать внешнее программное обеспечение для резервного копирования, например Cobian Backup для планирования и сжатия. Для самой резервной копии базы данных можно использовать ExpressMaint

Больше ответов здесь:

https://stackoverflow.com/questions/487675/how-can-i-schedule-a-daily-backup-with-sql-server-express