Настройка SQL Server Agent

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

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

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

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

  1. Включить процедуры агента
    sp_configure 'show advanced options', 1;
    GO
    RECONFIGURE;
    GO
    sp_configure 'Agent XPs', 1;
    GO
    RECONFIGURE
    GO
  2. Создать пользователя (UserSQLAS), под которым будет запускать системная служба "SQL Server Agent (MSSQLSERVER)". Указать для этой службы учетную запись нового пользователя.
    sql server agent service
    По умолчанию служба "SQL Server Agent (MSSQLSERVER)" запускает под учеткой "Сетевая служба", которая не имеет доступ к MS SQL Server. И тут два варианта: или расшаривать доступ для "Сетевой службы", или создавать отдельную учетку. Мы выбрали последний вариант.
  3. В MS SQL Server Management Studio создать новый логин с типом "Windows authentiaction" для MS SQL Server с именем, созданным на предыдущем шаге (UserSQLAS). Роль: sysadmin. На вкладке "User Mapping" указать доступ к системной базе данных msdb и к тем базам, к которым будет обращаться агент. При необходимости настроить права пользователя для конкретных баз данных.
  4. Запустить службу "SQL Server Agent (MSSQLSERVER)" через диспетчер служб или через MS SQL Server Management Studio.

Примечания по SQL Server Agent

  • Программа SQL Server Agent располагается по следующему пути (может отличаться в зависимости от места установки MS SQL Server: C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn\SQLAGENT.EXE
  • Владельцем (Owner) для Job установить пользователя UserSQLAS.
  • Возможные ошибки при запуске SQL Server Agent:
    - Unable to start service SQLSERVERAGENT on server.(mscorlib) Additional information: the SQLSERVERAGENT service started and then stopped.
    - SQLServer Error: 229, The EXECUTE permission was denied on the object 'sp_sqlagent_has_server_access', database 'msdb', schema 'dbo'. [SQLSTATE 42000] (ConnIsLoginSysAdmin).

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

Ваш e-mail не будет опубликован.

Подтвердите, что Вы не бот — выберите человечка с поднятой рукой: