СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до 30.06.2025

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Лекция 16. Настройка безопасности агента SQL

Категория: Прочее

Нажмите, чтобы узнать подробности

07.04.2020

гр.851

Законспектировать лекцию в тетрадь, фотоотчёт прислать на элюпочту или л/с ВК.

Просмотр содержимого документа
«Лекция 16. Настройка безопасности агента SQL»

Лекция 16

Агент SQL Server


ОБЛАСТЬ ПРИМЕНЕНИЯ:  SQL Server  База данных SQL Azure (только Управляемый экземпляр)  Azure Synapse Analytics (Хранилище данных SQL)  Parallel Data Warehouse

 Важно!

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

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

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

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

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

 Примечание

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

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

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

Задания

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

 Важно!

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

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

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

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

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

Каждое действие в задании является шагом задания. Например, шаг задания может состоять из выполнения инструкции Transact-SQL, выполнения пакета служб 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 использует предопределенные роли базы данных SQLAgentUserRoleSQLAgentReaderRole и SQLAgentOperatorRole в базе данных msdb для управления доступом к агенту SQL Server для пользователей, не входящих в предопределенную роль администратора сервера. Помимо этих предопределенных ролей базы данных, подсистемы и учетные записи-посредники позволяют администраторам базы данных гарантировать, что каждый шаг задания выполняется с минимальными разрешениями, необходимыми для выполнения задачи.

Роли

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

Подсистемы

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

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

ТАБЛИЦА 1

Имя подсистемы

Description

Скрипт Microsoft ActiveX

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

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

Операционная система (CmdExec)

Запустите исполняемую программу.

PowerShell

Выполните шаг задания со скриптом PowerShell.

Распространитель репликации

Выполните шаг задания, на котором активируется агент распространителя репликации.

Репликация слиянием

Выполните шаг задания, на котором активируется агент репликации слиянием.

Агент чтения очереди репликации

Выполните шаг задания, на котором активируется агент чтения очереди репликации.

Моментальный снимок репликации

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

Агент чтения журнала транзакций репликации

Выполните шаг задания, на котором активируется агент чтения журнала.

Службы Analysis Services Command

Выполните команду служб Службы Analysis Services .

Службы Analysis Services Запрос

Выполните запрос служб Службы Analysis Services .

Integration Services выполнение пакетов служб

Выполните пакет служб Integration Services .

 Примечание

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

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

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

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

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

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

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

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

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

  3. Запустите назначенные задания агента SQL Server .

 Примечание

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

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

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

ТАБЛИЦА 2

Description

Раздел

Содержит инструкции по настройке агента SQL Server.

Настройка агента SQL Server

Описывает запуск, остановку и приостановку службы агента SQL Server.

Запуск, остановка или приостановка службы агента SQL Server

Описывает вопросы задания учетных записей для службы агента SQL Server.

Выбор учетной записи для службы агента SQL Server

Описывает использование журнала ошибок агента SQL Server.

Журнал ошибок агента SQL Server

Содержит инструкции по использованию объектов производительности.

Использование объектов производительности

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

Использование мастера планов обслуживания

Описывает автоматизацию задач администрирования с помощью агента SQL Server.

Задачи автоматизированного администрирования (агент SQL Server)



Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!