Главная » Microsoft SQL Server, Базы данных » Управление заданиями

0

Заданием называют последовательность действий, выполняемых в определенном порядке. Например, вы можете определить, что при успешном выполнении действия 1 будет выполнено действие 2, в противном случае — действие 3. Действия имеют два основных типа. Первый тип задействует репликацию. Второй тип выполняет сценарий Transact-SQL, или ActiveX (написанный на языке JScript или JavaScript), или команду операционной системы. Следует отметить, что последний тип используется чаще всего. После каждого действия можно определить следующее действие, зависящее от успеха или неудачи предыдущей операции. Вы можете воспользоваться несколькими вариантами:

?               перейти к следующему действию;

?               перейти к действию с заданным номером в данной последовательности действий;

?               завершить выполнение задания, рапортуя о его успехе;

?               завершить выполнение задания, рапортуя об ошибке.

При желании вы можете также задать число попыток выполнения действий, предпринимаемых перед тем, как сообщить о безуспешном его выполнении. С заданием может быть ассоциирован один или несколько графиков. Это позволяет автоматически запускать задание в разное время. В графике можно задать единоразовое выполнение задания в назначенное время, а также его выполнение на регулярной основе. Также можно инициировать выполнение задания во время запуска SQL Server Agent или во время простоев процессора. На вкладке Advanced диалогового окна параметров службы SQL Server Agent (рис. 38.8) можно определить, при каких условиях процессор считается простаивающим. При этом следует учитывать, что средняя загрузка процессора не должна превышать заданный уровень в течение нескольких секунд. В заключение нужно настроить уведомления для информирования об успешном или безуспешном завершении задания.

Рис. 38.8. Задайте условия, при которых процессор считается простаивающим

Л      Важно осознавать, что сервер не способен полностью простаивать. Даже при

грамотно выполненной настройке его загруженность не опускается ниже 2-3%.

Jgo    Из этого следует, что установка среднего уровня загрузки в нулевое значение

приведет к тому, что задание не будет выполнено никогда. В то же время не Проверено стоит устанавливать этот порог на слишком высоком уровне, чтобы не возникало войны за ресурсы с активными клиентскими заданиями, выполняемыми в реальном времени. Как правило, больше всего подходят уровни, установленные в значения от 5 до 12. Аналогично, и время простоя является важным фактором. Обычно устанавливают значения в пределах от 360 до 600 секунд. В то же время администраторы особо крупных систем могут подумать и о более высоких значениях, чтобы гарантировать наличие состояния простоя, а администраторы малых систем могут максимально эффективно использовать время простоя за счет снижения порога его продолжительности.

Некоторые мастера выполняют основную работу за кулисами. Среди таких мастеров можно упомянуть следующие: мастер плана обслуживания, мастер резервирования, а также мастера импорта и экспорта службы преобразования данных. Все формы репликации также создают задания, выполняемые в фоновом режиме.

Как и в случае с предупреждениями, все задания создаются в диалоговом окне New Job. Создание задания предполагает выполнение пяти действий.

1.              Создание определения задания.

2.              Настройка каждого выполняемого действия.

3.              Определение следующего шага для каждого действия.

4.              Конфигурирование графика запуска задания.

5.              Формирование сообщений об успешном или ошибочном завершении задания.

В следующих подразделах мы подробно рассмотрим каждое из этих действий. Первый из них посвящен дополнительному этапу создания категории заданий.

Создание категории заданий

Как будет показано в следующем разделе, при создании задания его нужно назначить некоторой категории. Это позволяет группировать сходные задания. Ниже приведен список действий, позволяющий управлять категориями заданий.

1.              Запустите SQL Server Management Studio и найдите папку Management конфигурируемого сервера.

2.              Раскройте папку SQL Server Agent.

3.              Щелкните правой кнопкой мыши на папке Jobs и выберите в контекстном меню пункт Manage Jobs Categories. Откроется диалоговое окно управления категориями заданий, показанное на рис. 38.9.

4.              Чтобы создать новую категорию, щелкните на кнопке Add. Откроется диалоговое окно свойств новой категории.

5.              В поле Name введите описательное имя категории.

6.              Добавьте в категорию задания, установив флажок Show All Jobs и отметив нужные задания флажками. В списке отобразятся все задания, которым автоматически были назначены категории, а также те, которым они не назначены.

Рис. 38.9. Диалоговое окно Manage Job Categories

позволяет управлять принадлежностью заданий к категориям

Диалоговое окно Manage Job Categories можно также использовать и для удаления существующих категорий. Для этого выделите задания, которые хотите удалить, и щелкните на кнопке Delete.

При желании в этом окне вы можете отобразить список заданий, назначенных выбранной категории. Выделите категорию, которую хотите просмотреть, и щелкните на кнопке View Jobs. Добавление дополнительных заданий в категории выполняется с помощью установки флажка задания в столбце Select диалогового окна New Job Category.

Создание определения задания

Главным компонентом определения задания является его уникальное имя— именно оно будет использоваться для обращения к заданию. Например, это имя можно использовать при конфигурировании реакции на предупреждение. Вот как создается определение задания.

1.              Запустите SQL Server Management Studio и найдите папку SQL Server Agent конфигурируемого сервера.

2.              Раскройте папку SQL Server Agent, чтобы увидеть содержащиеся в ней элементы.

3.              Щелкните правой кнопкой мыши на папке Jobs и выберите в контекстном меню пункт New Job. Откроется диалоговое окно формирования нового задания, показанное на рис. 38.10.

4.              Во вкладке General присвойте заданию уникальное имя, размер которого не должен превышать 128 символов. Выберите корректную категорию и владельца задания, введите его описание. Владельца существующего задания могут изменить только администраторы.

Рис. 38.10. Назначьте новому заданию категорию и владельца

В качестве владельца могут указываться только предопределенные учетные записи. Если вы не нашли запись, с которой хотите идентифицировать задание, выйдите из окна определения задания, щелкнув на кнопке Cancel, после чего пройдите полную процедуру создания новой регистрационной записи. Для этого разверните папку Security, находящуюся немного ниже элемента Management, щелкните правой кнопкой мыши на элементе Logins и выберите в контекстном меню пункт New Login.

5.              Выделите папку Targets. Выберите элемент Target Local Server для заданий, предназначенных для запуска на одном локальном компьютере. Если задание охватывает множество серверов, выберите элемент Target Multiple Servers, затем выберите тот сервер, на котором будет выполняться задание. При желании вы можете запустить задание на группе серверов; для этого выделите все соответствующие элементы.

1.              Щелкните на кнопке Apply, чтобы создать определение задания. Теперь вы готовы к дальнейшим действиям, которые будут описаны в следующих подразделах.

Настройка действий, выполняемых в задании

После создания определения задания вы можете приступить к созданию составляющих его действий. Для этого перейдите на вкладку Steps (рис. 38.11) диалогового окна параметров задания. На открывшейся странице вы увидите ряд кнопок.

?               New — для создания нового действия.

?               Insert — для создания действия, предшествующего выделенному.

?               Edit — для редактирования выделенного действия.

?               Delete — для удаления выбранного действия.

?               Move step up — для перемещения выделенного действия вверх по списку.

?               Move step down — для перемещения выделенного действия вниз по списку.

?               Start step — для выбора действия, выполняемого первым. Первое действие помечается зеленым флажком.

Рис. 38.11. Задание может состоять из одного или нескольких действий; все они создаются на странице Steps

При создании нового действия открывается диалоговое окно, показанное на рис. 38.12. Все действия должны иметь уникальное имя, содержащее до 128 символов. Для трех наиболее распространенных типов действий (сценарии Transact-SQL и ActiveX, а также команды операционной системы) в поле команды вводится выполняемый код. Вы можете также воспользоваться кнопкой Open для загрузки программного кода из файла. Кнопка Parse позволяет проверить синтаксис команды.

Рис. 38.12. Одно действие может содержать любой код Transact-SQL

После ввода кода для действия перейдите на вкладку Advanced (рис. 38.13) диалогового окна New Job Step и определите, что должно произойти после выполнения данного действия. В этой же вкладке вы можете определить количество попыток выполнения действия, если оно закончилось неудачей, а также промежуток времени между этими попытками (в минутах).

Puc. 38.13. Во вкладке Advanced определяется, что должно произойти после выполнения действия

Конфигурирование графика выполнения задания

После ввода всех действий формируемого задания вы можете определить, когда данное задание должно запускаться на выполнение. Эта настройка выполняется во вкладке Schedule диалогового окна Job Properties. Щелкните на кнопке New Schedule, чтобы открыть диалоговое окно формирования нового графика, показанное на рис. 38.14.

Рис. 38.14. Задание может быть запрограммировано как для единоразового, так и для регулярного выполнения

Большинство задач обслуживания базы данных выполняются на регулярной основе. Если вам не подходит время, назначенное по умолчанию (полдень воскресенья), вы можете сами задать частоту и время начала. Как вы могли увидеть на рис. 38.14, при определении графика у вас полностью развязаны руки.

Обработка сообщений об успехе и неудаче операции

Завершается настройка задания во вкладке Notifications диалогового окна Job Properties (рис. 38.15). Здесь определяется тип уведомления, генерируемого при успешном и неудачном завершении операции. При этом вы можете отправить сообщение оператору (по электронной почте, на пейджер или с помощью сообщения Net Send), запротоколировать соответствующее событие, автоматически удалить действие, а также использовать любую комбинацию этих операций.

Рис. 38.15. Определите тип уведомления, используемого при удачном или неудачном завершении задания

Резюме

Служба SQL Server Agent станет вашим союзником, помогая не забыть о критичных задачах обслуживания базы данных и о событиях, которые требуют вашего или постороннего вмешательства. Первая цель достигается путем планирования повторяющихся заданий; вторая — с помощью предупреждений.

В этой главе мы рассмотрели вопросы, связанные с настройкой службы SQL Server Agent. Вы узнали, что собой представляют задания, операторы и предупреждения, ознакомились с действиями, необходимыми для управления этими объектами. Короче говоря, теперь вы можете считать себя полностью подготовленным для автоматизации критичных задач обслуживания базы данных.

Репликация данных

В любой среде, где администратору баз данных приходится управлять больше чем одним экземпляром SQL Server, рано или поздно приходится распространять между ними данные. Задача усложняется, если приходится переносить данные между разными СУБД. SQL Server предлагает множество способов распространения данных; в новой версии список этих средств был дополнительно расширен. В отличие от других СУБД, решения распространения данных от Microsoft доступны бесплатно; в то же время предлагаемое ими многообразие методов и их надежность делают их незаменимыми компонентами любой системы распространения данных.

Источник: Нильсен, Пол. Microsoft SQL Server 2005. Библия пользователя. : Пер. с англ. — М. : ООО “И.Д. Вильямс”, 2008. — 1232 с. : ил. — Парал. тит. англ.

По теме:

  • Комментарии