Sql server agent что это

Sql server agent что это

Delphi site: daily Delphi-news, documentation, articles, review, interview, computer humor.

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

□ заданий (jobs) — именованных наборов действий, которые можно выполнять по расписанию;

□ предупреждений (alerts) — действий, которые выполняются в ответ на событие, произошедшее на SQL Server. Таким действием может быть, например, выполнение задания или отправка сообщения оператору. События — это либо ошибки с определенным номером на SQL Server (их можно определять и генерировать самостоятельно), либо выход счетчика производительности за какие-то границы, либо специальные события WMI (т. е. ответ, пришедший на специальный событийный запрос на языке WQL);

□ операторов (operators) — записей в адресной книге, на которые будут отправляться сообщения.

Задания, предупреждения и операторы будут подробно рассмотрены в следующих разделах. Пока же отметим только общие моменты, которые связаны с SQL Server Agent.

Первое, что необходимо отметить, — для использования автоматизации административных операций необходимо, чтобы служба SQL Server Agent работала. Будет ли она запускаться автоматически при запуске сервера или ее нужно будет запускать вручную, зависит от параметров, которые вы выбрали при установке сервера. Проверить, работает ли эта служба (и при необходимости запустить или изменить режим запуска), можно при помощи SQL Server Configuration Manager (см. разд. 3.3).

Второй момент — служебная информация SQL Server Agent (в том числе информация о заданиях, предупреждениях и операторах) хранится в специальной служебной базе данных msdb. Если вы активно работаете с заданиями и предупреждениями, не забывайте регулярно производить резервное копирование этой базы данных.

Третье, что нужно отменить, — возможности SQL Server Agent (и его работоспособность) зависят от того, от имени какой учетной записи работает эта служба. Рекомендуется, чтобы:

□ SQL Server Agent работал от имени той же доменной учетной записи, от имени которой работает сам SQL Server;

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

Учетная запись, от имени которой работает SQL Server Agent, определяется при установке SQL Server 2005. Затем ее можно изменить, например, при помощи SQL Server Configuration Manager.

Возможностей настройки безопасности при работе SQL Server Agent в SQL Server 2005 очень много. Подробнее про них будет рассказано в разд. 8.1.4.

И, в-четвертых, для SQL Server Agent предусмотрена своя система журналов, при помощи которой можно получить информацию о всех происходящих с этой службой событиях. Просмотреть журналы можно из контейнера SQL Server Agent | Error Logs (Журналы ошибок) в SQL Server Management Studio.

Читайте также:  Speedfan не видит кулеры

Перед созданием заданий, оповещений и операторов рекомендуется проверить параметры SQL Server Agent: соответствуют ли они вашим потребностям.

SQL Server Agent — служба MS SQL Server 2008, позволяющая запускать SQL-скрипты по расписанию.

Примером такого SQL-скрипта может являться функция отправки e-mail в зависимости от набора данных.

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

Для использования SQL Server Agent необходимо выполнить следующее:

Система планирования, обработчик заданий, средство общения и круглосуточного администрирования для Microsoft SQL Server

Какова бы ни была целеустремленность и квалификация сотрудника, не существует людей, способных работать каждый день и год за годом по 24 часа в сутки. И тем не менее, словно именно это ежедневно требуется от администраторов баз данных: никогда не допускать промахов, быть готовым к развертыванию и запуску программных продуктов по первому требованию и выполнять важнейшие задачи обслуживания в любое время суток. Однако мы все же можем выполнить эти требования благодаря службе агента SQL Server и ее компонентам. Агент SQL Server представляет собой систему планирования, обработчик заданий, средство общения и круглосуточного администрирования для Microsoft SQL Server. Вы сможете убедиться в этом сами, ознакомившись с предлагаемым обзором данного инструмента.

Компоненты агента SQL Server

Агент SQL Server выглядит как единая служба, но состоит из нескольких компонентов:

  • планирование заданий;
  • уведомления и предупреждения;
  • операторы;
  • журнал ошибок;
  • серверы-посредники.

Тема агента SQL Server весьма обширна, и потребуется несколько статей, чтобы рассмотреть каждую грань его функциональности. В первой статье мы сосредоточимся на компоненте планирования заданий.

Агент SQL Server как система планирования заданий

Когда речь идет о необходимости круглосуточного присутствия, я имею в виду функциональность агента SQL Server как планировщика заданий. Агент SQL Server позволяет создавать задания различной сложности, состоящие из одного или нескольких «шагов», на каждом из которых можно выполнять команды на различных языках, вплоть до Transact-SQL, и наборы ориентированных на SQL задач (запросы или команды SQL Server Analysis Services, пакеты SQL Server Integration Services), а также сценарии PowerShell, VB Script и задачи операционной системы. Все шаги могут быть объединены в цепочку для последовательного выполнения или запускаться в зависимости от успеха, неудачи или завершения каждого шага в цепочке. Кроме того, вы можете отправлять предупреждения, сохранять выходные данные шага и создавать файлы журнала на каждом шаге. Выполнение задач можно запланировать согласно расписанию. Как шаги, так и собственно задание могут быть настроены для рассылки предупреждений и уведомлений. Можно даже настраивать задания для выполнения на удаленных целевых объектах.

Читайте также:  Canon powershot g1 x mark ii цена

Рассмотрим для примера процесс создания простого многошагового задания, которое усекает таблицу в базе данных после создания разностной резервной копии, чтобы убедиться в возможности восстановления в случае внесения ошибочных изменений.

Функции для создания задания можно найти с помощью обозревателя объектов в среде Microsoft SQL Server Management Studio (SSMS). Разверните узел сервера, и вы увидите агент SQL Server как подузел (см. экран 1).

Экран 1. Компоненты агента SQL Server

Щелкните правой кнопкой мыши на разделе Jobs («Задания») и выберите в контекстном меню пункт New Job («Создать задание»). Вы увидите форму, представленную на экране 2.

Экран 2. Создание нового задания

На данном этапе я заполнил необходимые поля, чтобы сделать то, что требуется на первом шаге: создать разностную резервную копию. По умолчанию владелец задания — текущий зарегистрированный пользователь. Задание принадлежит моей учетной записи в AD, но это не значит, что у него тот же контекст выполнения. По умолчанию задание выполняется в контексте учетной записи службы агента SQL Server. Это означает, что нужно предоставить учетной записи службы все права, необходимые для выполнения требуемых задач. Кроме того, если в выполнение задачи вовлечены какие-либо локальные или удаленные диски, служба агента SQL Server (или выполняющая учетная запись, так как это определяемый параметр) должна иметь права для доступа к соответствующим томам.

На каждом шаге мы видим два окна: общих настроек и дополнительных параметров. Общие настройки показаны на экране 2, и в этом окне можно объявить, какую команду следует выполнить. В окне дополнительных параметров представлены критерии, согласно которым происходят переходы от одного шага к другому, а также регистрируемая информация о шаге (см. экран 3).

Экран 3. Окно дополнительных параметров

Необходимо сделать так, чтобы шаг усечения (следующий в цепочке) выполнялся только в случае успеха резервного копирования. Если резервное копирование прошло неудачно, то задание должно завершиться ошибкой. Я не пытаюсь повторить этот шаг, хотя такая возможность существует. Кроме того, я хочу записать выходные данные шага (вы увидите их на вкладке сообщений окна запроса в SSMS, если выполните программный код шага) в файл, хранящийся в C: emp. Этот файл, если он существует, будет перезаписан, и я хочу сохранить выходные данные шага в журнале. Обычно я записываю выходные данные двумя способами, так как в самом файле выходные данные не обрезаются, а для журнала шага действуют ограничения по размеру строки. Вы также видите, что можно настроить задачу на выполнение другим пользователем, а не только учетной записью службы по умолчанию для агента SQL Server.

Читайте также:  Sdhc диск защищен от записи

Теперь мы повторяем процесс для шага усечения с подходящими значениями (см. экран 4).

Экран 4. Создание шага усечения базы данных

На шаге усечения назначается контекст базы данных, указывающий на базу данных, в которой планируется выполнить усечение таблицы. Я мог бы оставить ее как основную базу данных по умолчанию, при условии что команда содержит имя базы данных и схему (см. экран 5).

Экран 5. Настройка шага усечения базы данных

Для шага усечения я готов повторить попытку до трех раз с ожиданием в течение одной минуты между попытками. Если шаг завершается успешно, то нужно, чтобы и задание завершилось как успешное. Аналогично, если шаг завершается неудачей, то неудачно и задание. Это учитывается при настройке предупреждений и уведомлений о заданиях. И вновь я хочу записать выходные данные в файл, созданный или указанный на первом шаге, но на этот раз присоединить выходные данные к существующему заданию, чтобы увидеть упорядоченные выходные данные всех шагов в одном файле.

При планировании задания пользователям предоставляются широкие возможности. Вы можете выполнить задание один раз, как показано на экране 6, или составить расписание для повторного выполнения.

Экран 6. Планирование выполнения задания

Наконец, мы дошли до окна настройки параметров уведомления (см. экран 7). В нашем случае я хочу, чтобы мне (Тиму Форду) было послано уведомление о сбое задания через страницу, поскольку это важно. Если задание завершается (успешно или неудачно, неважно), я хочу получить по электронной почте сообщение о состоянии. Я также хочу сохранить в журнале Windows запись о состоянии задания, и, если оно выполнено успешно, удалить задание, так как оно предназначено лишь для разового выполнения.

Экран 7. Окно настройки параметров уведомления

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

  • агент SQL Server Agent как система уведомления и предупреждения;
  • агент SQL Server Agent и объекты оператора SQL;
  • агент SQL Server и ведение журнала ошибок;
  • агент SQL Server и прокси-серверы.

Поделитесь материалом с коллегами и друзьями

Ссылка на основную публикацию
Adblock detector