Sql server agent что это

Модуль 8. Автоматизация администрирования SQL Server 2005

Служба SQL Server Agent: назначение, автоматический запуск от имени доменной учетной записи, роль базы данных MSDB

В предыдущих модулях было рассмотрено выполнение основных административных операций на SQL Server 2005. Однако, как знают опытные администраторы, многие административные операции на сервере являются повторяющимися. Например, очень часто изо дня в день приходится производить:

q резервное копирование;

q проверку целостности баз данных;

q загрузку и выгрузку данных;

q перестроение индексов и дефрагментацию,

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

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

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

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

8.1. Автоматизация административных операций средствами SQL Server Agent

8.1.1. Что такое SQL Server Agent

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

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

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

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

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

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

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

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

Источник

Обзор агентов репликации

Агент SQL Server

АгентSQL Server служит для размещения и планирования работы агентов, используемых в репликации, а также предоставляет простой способ запуска агентов репликации. АгентSQL Server также управляет операциями за пределами репликации и осуществляет наблюдение за выполняемыми операциями. Дополнительные сведения см. в статье Configure SQL Server Agent.

агент моментальных снимков

Агент моментальных снимков используется, как правило, со всеми типами репликаций. Он готовит схему и файлы исходных данных опубликованных таблиц и другие объекты, хранит файлы моментальных снимков и записывает сведения о синхронизации в базе данных распространителя. Агент моментальных снимков выполняется на распространителе. Дополнительные сведения см. в статье Replication Snapshot Agent.

Агент чтения журнала.

Агент чтения журнала используется с репликацией транзакций. Он перемещает транзакции, помеченные для репликации, из журнала транзакций на издатель в базу данных распространителя. Каждая база данных, публикуемая с использованием репликации транзакций, имеет свой собственный агент чтения журнала, который выполняется на распространителе и подключен к издателю (распространитель может находиться на том же компьютере, что и издатель). Дополнительные сведения см. в статье Replication Log Reader Agent.

Агент распространителя

Агент распространителя используется с репликацией моментальных снимков и репликацией транзакций. Он применяет исходный моментальный снимок к подписчику и перемещает транзакции, удерживаемые в базе данных распространителя, на подписчики. Агент распространителя выполняется либо на распространителе для принудительных подписок, либо на подписчике для подписок по запросу. Дополнительные сведения см. в статье Replication Distribution Agent.

Агент слияния.

Агент слияния используется с репликацией слияния. Он применяет к подписчику исходный моментальный снимок, а также перемещает и согласовывает возникающие дополнительные изменения данных. Каждая подписка на публикацию слиянием имеет свой собственный агент слияния, который подключается как к издателю, так и к подписчику и обновляет и тот, и другой. Агент слияния выполняется либо на распространителе для принудительных подписок, либо на подписчике для подписок по запросу. По умолчанию агент слияния передает изменения с подписчика издателю, затем загружает изменения с издателя в подписчик. Дополнительные сведения см. в статье Replication Merge Agent.

Агент чтения очереди.

Агент чтения очереди используется для репликации транзакций с параметром обновления посредством очередей. Агент выполняется на распространителе и перемещает изменения, сделанные на подписчике, обратно в издатель. В отличие от агента распространителя и агента слияния существует только один экземпляр агента чтения очереди, который обслуживает все издатели и публикации для некоторой заданной базы данных распространителя. Дополнительные сведения об агенте чтения очереди см. в разделе Replication Queue Reader Agent. Дополнительные сведения об обновляемых подписках см. в разделе Updatable Subscriptions for Transactional Replication.

Задания обслуживания репликации

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

Источник

Свойства агента SQL Server (страница «Дополнительно»)

В Управляемом экземпляре Azure SQL в настоящее время поддерживается большинство функций агента SQL Server (но не все). Подробные сведения см. в статье Различия в T-SQL между Управляемым экземпляром SQL Azure и SQL Server.

Эта страница используется для просмотра и изменения дополнительных свойств службы агента Microsoft SQL Server.

Параметры

Пересылка событий SQL Server
Параметры в данной категории активируют и настраивают пересылку событий.

Переслать события на другой сервер
Перенаправляет события агента SQL Server другому серверу.

Server
Выберите имя сервера, которому нужно перенаправить события.

Необработанные события
Переправляет заданному серверу только необработанные события. SQL Server перенаправляет только события, на которые не реагирует ни одно предупреждение.

Все события
Переправляет все события. Если предупреждение локального экземпляра реагирует на событие, агент SQL Server перенаправит этот событие и обработает предупреждение.

Если серьезность события равна или превышает
Пересылает только события, уровень серьезности которых равен указанному или превышает его.

Условие простоя ЦП
Параметры в данной категории определяют условия, при которых агент SQL Server запускает задания, запланированные к выполнению в расписании простоя ЦП.

Определить условие простоя ЦП
Определяет условия, при которых агент SQL Server считает, что ЦП простаивает.

Среднее время использования ЦП сократилось до
Процент использования ЦП сократился до уровня, при котором считается, что ЦП простаивает.

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

Источник

Агент SQL Server

В Управляемом экземпляре Azure SQL в настоящее время поддерживается большинство функций агента SQL Server (но не все). Подробные сведения см. в статье Различия в T-SQL между Управляемым экземпляром SQL Azure и SQL Server.

Агент SQL Server — это служба Microsoft Windows, выполняющая запланированные административные задачи, которые называются заданиями в SQL Server.

Преимущества агента SQL Server

Агент SQL Server использует SQL Server для хранения сведений о задании. Задание состоит из одного или нескольких шагов. Каждый шаг содержит собственную задачу, например создание резервной копии базы данных.

Агент SQL Server может выполнять задания по расписанию в ответ на определенное событие или по требованию. Например, можно автоматизировать задачу создания резервной копии всех серверов компании, чтобы она выполнялась ежедневно по окончании рабочего дня. Запланируйте выполнение резервного копирования после 22:00 с понедельника по пятницу. Если во время создания резервной копии возникает проблема, агент SQL Server регистрирует соответствующее событие и выдает уведомление.

Служба агента SQL Server по умолчанию отключена, если во время установки SQL Server явно не выбран автоматический запуск службы.

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

Агент SQL Server использует следующие компоненты, чтобы определить задачи для выполнения, время для выполнения задач и порядок уведомления об успешном или неудачном завершении задач.

Задания

Задание — это указанная последовательность действий, выполняемая агентом SQL Server. Используйте задания, чтобы определить задачу администрирования, которую можно запустить один или несколько раз и отслеживать ее успешное выполнение или сбой. Задание может выполняться на одном локальном или на нескольких удаленных серверах.

Задания агента SQL Server, которые выполнялись во время отработки отказа в экземпляре отказоустойчивого кластера SQL Server, не возобновляются после отработки отказа и переключения на другой узел отказоустойчивого кластера. Задания агента SQL Server, которые выполнялись во время приостановки работы узла Hyper-V, не возобновляются, если приостановка вызывает отработку отказа с переходом на другой узел. Задания, выполнение которых было начато, но не завершилось в связи с событием отработки отказа, регистрируются в журнале как начатые, но дополнительных записей журнала о завершении или сбое нет. Задания агента SQL Server выглядят как незавершенные.

Выполнять задания можно несколькими способами:

по одному или нескольким расписаниям;

в ответ на одно или несколько предупреждений;

посредством выполнения хранимой процедуры sp_start_job;

Каждое действие в задании является шагом задания. Например, шаг задания может состоять из выполнения инструкции Transact-SQL, выполнения пакета служб SQL Server Integration Services или выдачи команды серверу служб Analysis Services. Шагами задания управляют как частью задания.

Каждый шаг задания выполняется в указанном контексте безопасности. Для шагов заданий, использующих Transact-SQL, применяйте инструкцию EXECUTE AS, чтобы указать контекст безопасности для шага задания. Для других типов шагов заданий используйте учетную запись-посредник, чтобы указать контекст безопасности для шага задания.

Расписания

Расписание определяет время выполнения задания. Несколько заданий могут выполняться по тому же расписанию, а несколько расписаний могут применяться для одного задания. Расписание может определить следующие условия для времени выполнения задания:

при каждом запуске агента SQL Server;

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

однажды, в указанные дату и время;

Для повторяющегося расписания.

видны узлы

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

Предупреждение может быть реакцией на одно из следующих условий:

события SQL Server;

условия производительности SQL Server;

события инструментария управления Microsoft Windows (WMI) на компьютере, где работает агент SQL Server;

Предупреждение может выполнять следующие действия:

уведомить один или несколько операторов;

Дополнительные сведения см. в статье Оповещения.

Операторы

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

SQL Server может уведомлять операторов о предупреждениях через.

пейджер (через электронную почту);

команда net send.

Чтобы отправлять уведомления с помощью net send, служба Windows Messenger должна быть запущена на компьютере, где работает агент SQL Server.

Режимы отправки уведомлений с помощью пейджера и команды net send будут удалены из агента SQL Server в следующей версии SQL Server. Старайтесь не использовать эти функции в новых разработках и предусмотрите соответствующие изменения в приложениях, которые используют их в настоящее время.

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

Можно определить оператора как псевдоним для группы лиц. Таким способом все члены этого псевдонима не будут проверяться одновременно. Дополнительные сведения см. в разделе Операторы.

Безопасность при администрировании агента SQL Server

Агент SQL Server использует предопределенные роли базы данных SQLAgentUserRole, SQLAgentReaderRole и SQLAgentOperatorRole в базе данных msdb для управления доступом к агенту SQL Server для пользователей, не входящих в предопределенную роль сервера sysadmin. Помимо этих предопределенных ролей базы данных, подсистемы и учетные записи-посредники позволяют администраторам базы данных гарантировать, что каждый шаг задания выполняется с минимальными разрешениями, необходимыми для выполнения задачи.

Доступ к агенту SQL Server имеют члены предопределенных ролей базы данных SQLAgentUserRole, SQLAgentReaderRole и SQLAgentOperatorRole в базе данных msdb, а также члены предопределенной роли сервера sysadmin. Пользователь, не принадлежащий ни к одной из этих ролей, не может использовать агент SQL Server. Дополнительные сведения о ролях, используемых агентом SQL Server, см. в разделе Обеспечение безопасности агента SQL Server.

Подсистемы

Подсистема — это предопределенный объект, который содержит функции, доступные шагу задания. Каждая учетная запись-посредник имеет доступ к одной или нескольким подсистемам. Подсистемы обеспечивают безопасность, поскольку разграничивают доступ учетных записей-посредников к функциям. Каждый шаг задания выполняется в контексте учетной записи-посредника, за исключением этапов задания Transact-SQL. На этапах задания Transact-SQL применяйте команду EXECUTE AS, чтобы задать контекст безопасности для владельца задания.

SQL Server определяет подсистемы, перечисленные в следующей таблице:

Имя подсистемыОписание
Скрипт Microsoft ActiveXВыполните шаг задания со скриптом ActiveX.

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

Операционная система (CmdExec)Запустите исполняемую программу.
PowerShellВыполните шаг задания со скриптом PowerShell.
Распространитель репликацииВыполните шаг задания, на котором активируется агент распространителя репликации.
Репликация слияниемВыполните шаг задания, на котором активируется агент репликации слиянием.
Агент чтения очереди репликацииВыполните шаг задания, на котором активируется агент чтения очереди репликации.
Моментальный снимок репликацииВыполните шаг задания, на котором активируется агент моментальных снимков.
Агент чтения журнала транзакций репликацииВыполните шаг задания, на котором активируется агент чтения журнала.
Команда служб Analysis ServicesВыполните команду служб Analysis Services.
Запрос служб Analysis ServicesВыполните запрос служб Analysis Services.
Выполнение пакетов служб SSISЗапустите пакет SSIS.

Поскольку в шагах задания Transact-SQL учетные записи-посредники не используются, какие-либо подсистемы агента SQL Server для шагов задания Transact-SQL отсутствуют.

Агент SQL Server применяет ограничения подсистемы принудительно, даже если обычно субъект безопасности для учетной записи-посредника имеет разрешение на выполнение задачи на шаге задания. Например, пользователь, являющийся членом предопределенной роли администратора сервера, не сможет выполнить шаг задания служб SQL Server Integration Services, если его учетная запись-посредник не имеет доступа к подсистеме служб SQL Server Integration Services, несмотря на то, что пользователь может выполнять пакеты служб SQL Server Integration Services.

прокси-серверы;

Агент SQL Server для управления контекстами безопасности использует учетные записи-посредники. Учетная запись-посредник может быть использована на нескольких шагах задания. Создавать учетные записи-посредники могут члены предопределенной роли администратора сервера.

Каждой учетной записи-посреднику соответствует учетная запись системы безопасности. и может быть связана с множеством подсистем и множеством имен входа. Учетная запись-посредник может применяться только для шагов задания, которые используют связанную с этой учетной записью-посредником подсистему. Чтобы создать шаг задания, использующий определенную учетную запись-посредник, владелец задания должен либо использовать связанное с ней имя входа, либо быть членом роли, имеющей неограниченный доступ к учетным записям-посредникам. Члены предопределенной роли администратора сервера имеют неограниченный доступ к учетным записям-посредникам. Члены ролей SQLAgentUserRole, SQLAgentReaderRole и SQLAgentOperatorRole могут использовать только учетные записи-посредники, на которые им был предоставлен особый доступ. Каждому пользователю, входящему в одну из предопределенных ролей базы данных агента SQL Server, необходимо предоставить доступ к конкретным учетным записям-посредникам, чтобы пользователь мог создавать шаги задания, которые будут использовать эти учетные записи-посредники.

Связанные задачи

Используйте следующие шаги для настройки агента SQL Server для автоматического администрирования SQL Server:

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

Определите набор заданий, расписаний, предупреждений и операторов, используя среду SQL Server Management Studio, скрипты Transact-SQL или управляющие объекты SQL Server (SMO). Дополнительные сведения см. в разделе Создание заданий.

Выполните определенные задания агента SQL Server.

Для экземпляра SQL Server по умолчанию служба SQL Server называется SQLSERVERAGENT. В именованных экземплярах служба агента SQL Server имеет имя SQLAgent$имя_экземпляра.

Если запущено несколько экземпляров SQL Server, то, чтобы автоматизировать общие для всех экземпляров задания, можно использовать администрирование нескольких серверов. Дополнительные сведения см. в статье Автоматизация администрирования в масштабах предприятия.

Используйте следующие задачи, чтобы начать работу с агентом SQL Server:

ОписаниеРаздел
Содержит инструкции по настройке агента SQL Server.Настройка агента SQL Server
Описывает запуск, остановку и приостановку службы агента SQL Server.Запуск, остановка или приостановка службы агента SQL Server
Описывает вопросы задания учетных записей для службы агента SQL Server.Выбор учетной записи для службы агента SQL Server
Описывает использование журнала ошибок агента SQL Server.Журнал ошибок агента SQL Server
Содержит инструкции по использованию объектов производительности.Использование объектов производительности
Описывает мастер планов обслуживания — программу, которая используется для создания заданий, оповещений и операторов для автоматизации администрирования экземпляра SQL Server.Использование мастера планов обслуживания
Описывает автоматизацию задач администрирования с помощью агента SQL Server.Задачи автоматизированного администрирования (агент SQL Server)

NOSQLPS

Если вы хотите использовать модуль SqlServer в шаге задания Агента SQL, можно поместить этот код в первые две строки скрипта.

Источник

Работа со службами Microsoft SQL Server Services

Службы SQL Server

Программные компоненты этих трех служб вы получаете в рамках лицензии на копию SQL Server. Инсталляция SQL Server Agent производится по умолчанию при инсталляции SQL Server. Если у вас не инсталлированы Microsoft Distributed Transaction Coordinator и Microsoft Search, то вы можете снова запустить инсталляционную программу SQL Server, чтобы установить эти компоненты, которые имеют там названия DTC Client Support и Full-Text Search, соответственно. А сейчас мы расскажем, что делает каждая из этих трех служб.

SQL Server Agent осуществляет планирование и исполнение заданий, оповещений, извещений и планов обслуживания базы данных. Без этой службы работа администратора баз данных станет гораздо более трудной, а может, вообще невозможной. Благодаря SQL Server Agent можно автоматизировать рутинные процедуры по обслуживанию базы данных. Например, вы можете создать задание, которое будет автоматически выполнять резервное копирование базы данных ежесуточно в 1 час пополуночи, и другое задание, которое будет автоматически выполнять резервное копирование журнала транзакций каждые полчаса. Чтобы следить за производительностью вашей системы, можно создать оповещение о состоянии производительности, которое будет информировать вас, если загруженность центрального процессора сервера превысит 90%. Для решения подобных задач нужно запускать службу SQL Server Agent, которую можно сконфигурировать на автоматический запуск при запуске SQL Server, а можно запускать и вручную. Вам следует сконфигурировать ее на автоматич еский запуск, что будет гарантировать исполнение ваших запланированных заданий, оповещений и извещений. В «Администрирование Microsoft SQL Server» будет рассказано, как создать план обслуживания базы данных, а в «Автоматизация административных задач» – как при помощи SQL Server Agent назначать задания, оповещения и извещения.

Запускайте службу Microsoft Search, когда вам нужна поддержка полнотекстного индексирования и поиска. Благодаря полнотекстному индексированию возможно выполнение более сложного поиска среди данных, содержащих текстовые строки. Например, вы можете искать слова, близкие к заданному слову, или можете искать определенную фразу.

Как мы уже говорили, имеется несколько инструментальных средств для остановки и запуска служб SQL Server: SQL Server Service Manager, SQL Server Enterprise Manager и Windows 2000 Service Control Manager. Давайте сначала рассмотрим SQL Server Service Manager, при помощи которого можно управлять службами SQL Server, SQL Server Agent, Microsoft Distributed Transaction Coordinator и Microsoft Search.

Применение SQL Server Service Manager

Для запуска или остановки служб SQL Server при помощи SQL Server Service Manager, выполните следующие действия (а ещё, как вы увидите, службу SQL Server можно и приостанавливать).

Sql server agent что это. 08 01. Sql server agent что это фото. Sql server agent что это-08 01. картинка Sql server agent что это. картинка 08 01

Sql server agent что это. 08 02. Sql server agent что это фото. Sql server agent что это-08 02. картинка Sql server agent что это. картинка 08 02

В поле Polling interval (Интервал опроса) можно задать другой интервал опроса для служб (в секундах). Если вы установите флажок Verify service control action (Подтверждать действия по управлению службой), то Service Manager будет проверять все ваши действия по запуску, остановке и приостановке служб, запрашивая в диалоговом окне ваше подтверждение на выполнение действия. Настройки интервала опроса и подтверждения действий задаются одинаковыми для всех четырех служб.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *