Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

SQL Server Express: задания по расписанию или автоматическое резервное копирование (backup).

Практика



Microsoft предоставляет нам бесплатный сервер SQL Server (например, редакций 2005 или 2008). Однако сервер этот, конечно, имеет некоторые ограничения. Среди них - отсутствие встроенного в версии Standard и выше агента (SQL Server Agent), который выполняет запланированные задания по расписанию.

И как теперь создавать автоматические задачи?

Впрочем, не все потеряно. Здесь я покажу - как обойти эту помеху.


1) Создаем файл SQL с набором T-SQL команд для выполнения.

Вот пример файла для резервного копирования 2х баз данных на жесткий диск (это только пример):

mybackup.sql
BACKUP DATABASE [mybase1] TO DISK = N'c:\sqlbackup\mybase1.bak' WITH INIT, NOUNLOAD, NAME = N'MyBase1 Backup', NOSKIP, STATS = 10, NOFORMAT;

BACKUP DATABASE [mybase2] TO DISK = N'c:\sqlbackup\mybase2.bak' WITH INIT, NOUNLOAD, NAME = N'MyBase2 Backup', NOSKIP, STATS = 10, NOFORMAT;

Естественно, помимо резервного копирования можно использовать любые другие команды Transact-SQL.



2) Теперь создаем задачу в планировщике заданий Windows.

Т.е. да, открываем обычный планировщик Windows (через который можно создавать обычные задачи по расписанию, например, запуск каких-нибудь программ).

Windows 2003: Пуск -> Панель управления -> Назначенные задания
Windows 2008: Пуск -> Администрирование -> Планировщик заданий

И добавляем новую задачу. Имя задачи пишите какое угодно. Параметры запуска (триггеры) - указывайте такие, какие Вы указали бы для SQL Agent. Например, запускать каждый день в час Х, или как-то как Вам нужно.

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

sqlcmd -S 192.168.0.1\SQLEXPRESS -U sa -P mysuperpassword -i c:\path_to_script\mybackup.sql -o c:\path_to_script\mybackup.log

Здесь:
  • -S 192.168.0.1\SQLEXPRESS : здесь укажите IP адрес сервера, на котором крутится SQL Express, и Instance-имя этого сервера. Для установки по-умолчанию Instance-имя для SQL Express сервера - это SQLEXPRESS (в отличие от Standard-установки, у которой Default-имя инстанции - пустое).
  • -U sa : имя пользователя, под которым выполнять скрипт. Вместо "sa" можно (и желательно) указывать имя пользователя, который имеет право на выполнение указанных в mybackup.sql или другом SQL-Script файле операций. Т.е. для, например, резервного копирования Вы можете создать отдельного юзера в MS SQL Server, который будет иметь право только на бекапы и все.
  • -P mysuperpassword : пароль этого юзера
  • -i c:\... : путь и имя файла с набором T-SQL команд (mybackup.sql в нашем случае)
  • -o c:\... : путь и имя файла, куда вываливать сообщения (логи) по данной операции

Ну и все. Теперь сохраняете задачу планировщика Windows и проверяете. Запускаться она будет как обычная любая задача, при этом выполняя набор команд T-SQL вместо SQL Agent.

Менее удобно, конечно, чем писать это все прямо в оснастке SQL Server, но зато бесплатно.Актуально для: MS SQL Express 2005, 2008
создано: 2017-05-09
обновлено: 2024-11-10
2464



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей

Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Базы данных - MySql (Maria DB)

Термины: Базы данных - MySql (Maria DB)