Интерфейс QMB > Меню Задачи > Задача |
QMB имеет 30 предустановленных задач. Из них 10 задач для работы с популярными хранимыми процедурами Ola Hallengren. В зависимости от типа, задача позволяет:
Задача может исполняться в составе сценария или по команде Выполнить задачу из контекстного меню списка серверов.
Форма задачи с типом: T-SQL скрипт |
В программе запрещено редактировать скрипты предустановленных задач, однако можно создать копию задачи и отредактировать ее. |
Имя - наименование задачи
Тип - тип задачи. Доступны значения:
В зависимости от выбранного типа задачи изменяется внешний вид формы. Подробнее о каждом типах задач читайте ниже.
Папка - папка в которой будет располагаться задача в списке. Используется для группировки задач в списке. Для размещения задачи в корне выберите из списка пустое значение.
Примечание - произвольный комментарий к задаче.
Тип: Скрипт T-SQL
Задача с типом Скрипт T-SQL используется для выполнения произвольного T-SQL скрипта на SQL Server. На вкладке T-SQL скрипт доступны следующие параметры:
Исполнять для баз данных политики (имя передается в ?DataBaseName?) - если признак установлен, то задача будет вызываться последовательно для каждой базы данных, входящей в политику обслуживания. При этом имя базы данных будет подставляться в T-SQL скрипт вместо маркера ?DataBaseName?. Если признак не установлен, то при исполнении сценария скрипт задачи исполнится один раз.
Внимание! Не рекомендуется использовать тип задачи T-SQL скрипт для создания архивных копий. Для этих целей в программе используется тип Создание архивной копии, в которой также можно редактировать T-SQL скрипт. |
В поле T-SQL скрипт необходимо поместить скрипт на языке Transact SQL. В скрипте можно использовать маркеры, вместо которых QMB подставит необходимые значения на этапе подготовки задачи к исполнению. В программе доступны следующие маркеры:
?DataBaseName? | Имя базы данных. Необходимо, чтобы в задаче была установлена опция Исполнять для баз данных политики. |
?BackupDirectory? | Путь к каталогу архивных копий, указанный в свойствах политики |
?FullBackupFileName? | Путь и имя файла для полной архивной копии базы данных |
?DiffBackupFileName? | Путь и имя файла для разностной архивной копии базы данных |
?LogBackupFileName? | Путь и имя файла для архивной копии журнала транзакции базы данных |
?MasterBackupFileName? | Путь и имя файла для полной архивной копии системной базы данных master |
?MsdbBackupFileName? | Путь и имя файла для полной архивной копии системной базы данных msdb |
?ModelBackupFileName? | Путь и имя файла для полной архивной копии системной базы данных model |
?VerifyBackup? | Значение флага Проверить архивную копию после создания для задачи с типом Создание архивной копии. Передается значение 'Y' или 'N' |
?CleanupDate? | Дата и время ранее которой архивные копии должны быть удалены. Рассчитывается согласно сроку хранения заданному в свойствах политики |
?CleanupTime? | Время хранения архивных копий в часах. Рассчитывается согласно сроку хранения заданному в свойствах политики |
Для маркеров с именами файлов архивных копий имя файла формируется согласно правилам их наименования, заданном в свойствах политики.
В скрипте нельзя использовать конструкцию GO. Скрипт задачи исполняется в одном пакете не подлежащем разделению. |
Тип: Создание архивной копии
Задача с типом Создание архивной копии используется для выполнения T-SQL скрипта, который создает полную, разностную или архивную копию журнала транзакций. Также, после создания архивной копии, будет создан XML план восстановления, если в политике обслуживания установлено соответствующее свойство.
На вкладке Параметры архивной копии задаются следующие параметры:
Вид - переключатель, определяет вид создаваемой архивной копии: Полная, Журнал транзакций или Разностная. При смене переключателя изменяется T-SQL скрипт.
Проверить архивную копию после создания - флаг указывает, что нужно выполнить проверку архивной копии после создания. Проверка выполняется командой RESTORE VERIFYONLY. Команда проверяет полноту архивной копии и возможность её считывания с диска. Флаг передается в T-SQL скрипт маркером ?VerifyBackup?.
Команда RESTORE VERIFYONLY не выполняет восстановление из архивной копии и поэтому не гарантирует, что дальнейшее восстановление базы данных из этой архивной копии может быть выполнено (подробнее на сайте http://msdn.microsoft.com/ru-ru/library/ms188902.aspx). Для гарантированной проверки архивных копий рекомендуется включить в сценарии задачу Восстановление из архивных копий во временную БД с последующей проверкой. Задача выполнит тестовое восстановление архивных копий баз данных политики обслуживания во временную базу данных. Подробнее читайте раздел ниже Типы задач: Восстановление на сервере-источнике и Восстановление по XML плану. |
На вкладке T-SQL скрипт можно отредактировать скрипт задачи, который подставляется по умолчанию. Описание полей и маркеров приведено в описании раздела Скрипт T-SQL.
Тип: Произвольный скрипт (не T-SQL)
Данный тип задач позволяет исполнять пакетные файлы на различных сценарных языках программирования, таких как VBScript, JavaScript, язык командной оболочки Windows и другие. Перед исполнением скрипт сохраняется во временный файл, с указанным в задаче расширением, а затем запускается на исполнение как обычный файл операционной системы (пакетный файл). Скрипт может возвращать сообщения для журнал обслуживания (см. примеры ниже).
Пакетный файл может исполняться на машине, где установлена QMB, либо на SQL Server. Данная опция устанавливается на вкладке Параметры:
Для запуска пакетных файлов на стороне SQL Server используется расширенная хранимая процедура xp_qmb. В целях безопасности, текст скрипта предварительно шифруется. Хранимая процедура xp_cmdshell не используется. |
На вкладке Скрипт указывается расширение файла и скрипт, который будет помещен во временный пакетный файл. Перед исполнением скрипт сохраняется во временный файл, с указанным в задаче расширением, а затем запускается на исполнение как обычный файл операционной системы.
Внимание! Если указано расширение не поддерживаемое ОС, то скрипт зависнет, пока не будет прерван. Перед добавлением задачи в QMB рекомендуется предварительно протестировать скрипт, исполняя его как пакетный файл из консоли CMD.EXE |
Кодировка - кодировка в которой будет сохранен временный пакетный файл. Также эта кодировка будет использоваться при чтении сообщений для журнала обслуживания из времененного файла (см. маркер ?QmbOutputLog?).
Сообщения для журнала выводятся скриптом в файл ?QmbOutputLog? - установка признака сообщает QMB, что скрипт будет самостоятельно выводить сообщения для журнала обслуживания. Если признак сброшен, то QMB самостоятельно перенаправит вывод в файл ?QmbOutputLog?. Соответственно файл будет заблокирован и недоступен для использования внутри скрипта. Подробнее о маркере ?QmbOutputLog? читайте ниже.
Исполнять для баз данных политики (имя передается в ?DataBaseName?) - если признак установлен, то задача будет вызываться последовательно для каждой базы данных, входящей в политику обслуживания. При этом имя базы данных будет подставляться в скрипт вместо маркера ?DataBaseName?. Если признак не установлен, то при исполнении сценария скрипт задачи исполнится один раз.
В скрипте можно использовать маркеры, вместо которых QMB подставит необходимые значения на этапе подготовки задачи к исполнению. Для типа задач Произвольный скрипт (не T-SQL) в программе доступны следующие маркеры:
?DataBaseName? |
Имя базы данных. Необходимо, чтобы в задаче была установлена опция Исполнять для баз данных политики. |
?QmbOutputLog? |
Путь и имя временного текстового файла, обрамленного апострофами, в который перенаправляется вывод сообщений для журнала обслуживания. Пример: "C:\Windows\TEMP\qmbtmp-796a3468-37a1-42f3-9599-f5460dcfcf19.tmp" После исполнения задачи, QMB читает текст из указанного файла, и записывает его в журнал обслуживания. Маркер ?QmbOutputLog? может использоваться в скрипте, если установлен признак Сообщения для журнала выводятся скриптом в файл ?QmbOutputLog?. Для выделения ошибок можно использовать тег <e></e>. |
?QmbOutputLog2? | Маркер аналогичен ?QmbOutputLog?, но путь экранируется двойным слешем. Пример: "C:\\Windows\\TEMP\\qmbtmp-796a3468-37a1-42f3-9599-f5460dcfcf19.tmp" |
?BackupDirectory? | Путь к каталогу архивных копий, указанный в свойствах политики. Пример: C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Backup |
?BackupDirectory2? | Маркер аналогичен ?BackupDirectory?, но путь экранируется двойным слешем. Пример: C:\\Program Files\\Microsoft SQL Server\\MSSQL12.MSSQLSERVER\\MSSQL\\Backup |
В примерах ниже показан CMD скрипт для копирования файлов архивных копий утилитой robocopy с разными способами вывода в журнал обслуживания.
QMB перенаправляет сообщения с экрана в журнал обслуживания. Флаг "Сообщения для журнала выводятся скриптом в файл ?QmbOutputLog?" снят. |
Скопировать код |
---|---|
rem Скрипт копирует все файлы из папки бэкапов, указанной в политике, в папку H:\BackupCopy rem Для копирования используется утилита Robocopy Echo Копируем файлы из "?BackupDirectory?" в "H:\BackupCopy" robocopy "?BackupDirectory?" "H:\BackupCopy" /r:0 if %errorlevel% == 8 exit /b 1 exit /b 0 |
Скрипт выводит сообщения для журнала обслуживания в ?QmbOutputLog?. Флаг "Сообщения для журнала выводятся скриптом в файл ?QmbOutputLog?" установлен. |
Скопировать код |
---|---|
rem Скрипт копирует все файлы из папки архивных копий, указанной в политике, в папку H:\BackupCopy rem Для копирования используется утилита Robocopy Echo "?BackupDirectory?" "H:\BackupCopy" > ?QmbOutputLog? robocopy "?BackupDirectory?" "H:\BackupCopy" /r:0 >> ?QmbOutputLog? if %errorlevel% == 8 exit /b 1 exit /b 0 |
Тип: Копирование архивных копий
Системная задача с типом Копирование архивных копий выполняет копирование новых и измененных файлов с расширением bak, trn, xml из папки архивных копий, указанной в свойствах политики обслуживания. Задача также выполнит удаление устаревших файлов архивных копий в папке получателе, если при настройки копирования, в свойствах политики, были заданы соответствующие настройки.
Тип: Создание XML плана восстановления
Тип задач Создание XML плана восстановления позволяет создавать XML план восстановления. В XML план записывается последовательность архивных копий, необходимых для восстановления базы данных на последнее возможное состояние.
Подключение к папке – подключение к сетевой или локальной папке, в которой будет создан XML план восстановления. В данной папке должны находится файлы архивных копий, необходимые для восстановления.
Копировать недостающие файлы архивных копий – если установлена данная опция, то программа будет копировать недостающие архивные копии. Копирование выполняется с SQL Server источника.
Имя XML файла – имя файла, в который будет записан XML план восстановления.
Базы данных – имена баз данных, для которых будет создан XML план восстановления. Имена следует разделять запятой.
Тип: Восстановление по XML плану
Тип задач Восстановление по XML плану позволяет выполнить восстановление баз данных по XML плану восстановления.
Подключение к папке – подключение к сетевой или локальной папке, содержащей XML план восстановления и файлы архивных копий.
Имя XML файла – имя файла XML плана восстановления.
Переключатель База источник определяет какие базы данных будут восстанавливаться по XML плану.
Переключатель База данных в которую будет выполнено восстановление определяет в какую базу данных будет выполняться восстановление. Значения переключателя:
Проверить базу данных после восстановления – если данная опция включена, то после восстановления базы данных будет выполнена проверка её целостности (DBCC CHECKDB).
Также смотрите Восстановление по XML плану вручную
Тип: Восстановление на сервере-источнике
Данный тип задач позволяет автоматически восстанавливать базы данных из архивных копии на SQL Server где были созданы архивные копии (сервер-источник). Для восстановления на другом SQL Server используете XML план восстановления.
Задача может использоваться для:
Форма задачи с типом: Восстановление на сервере-источнике |
T-SQL скрипт задачи с типом Восстановление на сервере-источнике формируется динамически, на этапе подготовки задачи к выполнению. Набор архивных копий для восстановления подбирается по информации о созданных архивных копиях в системной базе msdb.
Восстановление всегда выполняется на последний актуальный момент времени (момент времени запуска задачи). Например, есть сценарий со следующими задачами:
T-SQL скрипт для задачи №2 будет сформирован таким образом, что помимо восстановления полных и разностных наборов будут применены и нужные журналы транзакций, включая последний, созданный в этом же сценарии на шаге №1.
На вкладке Параметры восстановления архивной копии задаются следующие параметры:
Переключатель База данных источник архивных копий определяет источник архивных копий. Значения переключателя:
Переключатель База данных в которую будет выполнено восстановление определяет в какую базу данных будет выполняться восстановление. Значения переключателя:
При восстановлении в существующую базу данных, все данные в ней будут потеряны! |
Проверить базу данных после восстановления - опция позволяет выполнить проверку целостности базы данных после её восстановления (DBCC CHECKDB).
Для восстановления баз данных в автоматическом режиме необходимо наличие соответствующего свободного места на диске SQL Server. Необходимо учитывать это при планировании политики обслуживания. |