Как включить sql server agent
Использование SQL Server Agent для отправки предупреждений на электронную почту
Для оперативного реагирования администратора на какие-либо события, происходящие на SQL-сервере, необходимо его вовремя предупредить об этих событиях. Для этого удобно использовать предупреждения SQL Server Agent. Далее будут рассмотрены настройки, необходимые для отправки таких предупреждений на электронную почту.
Шаг 1. Настройка SQL Server для отправки электронной почты.
Шаг 2. Назначение логину, от имени которого SQL Server Agent подключается к SQL Server, роли DatabaseMailUserRole в базе данных msdb.
Шаг 3. Назначение созданного на шаге 1 почтового профиля профилем по умолчанию для логина SQL Server Agent.
Подробно шаги 1-3 описаны в статье Настройка SQL Server 2005 для отправки электронной почты.
Шаг 4. Настройка SQL Server Agent. В свойства агента SQL Server на вкладке Система предупреждений необходимо установить флажок Включить почтовый профиль и указать почтовую систему и созданный почтовый профиль:

После этой настройки необходим перезапуск службы SQL Server Agent!
Шаг 5. Создание оператора. Для создания оператора, который будет получать уведомления по электронной почте, необходимо в MSSMS (Microsoft SQL Server Management Studio) раскрыть вкладку Агент SQL Server и из контекстного меню вкладки Операторы выбрать Создать оператора. Затем указать его имя и адрес электронной почты:

- события самого SQL-сервера (также называются ошибками, хотя не всегда являются ими);
- выход значения счетчика системного монитора за указанные пределы;
- возникновение события WMI.

Затем на вкладке Ответ нужно установить флаг Уведомить операторов, выбрать в списке нужного и установить у него флаг Электронная почта:

Для того, чтобы полный текст ошибки был включен в отправляемое сообщение, необходимо на вкладке Параметры установить флаг По электронной почте.
How enable SQL Server Agent in docker container existing
I have a running SQL Server image on Docker, however I need to enable SQL Server Agent to run some jobs, but I have not succeeded. The main problem is that the container has quite a few databases and settings that need to be maintained. The command «docker run -e» MSSQL_AGENT_ENABLED = true . «» is not useful to me because it creates a new container and I would lose the current configuration. I used the following commands that allowed to enable the interface, but when running the job I get an error that SQL Server Agent is not enabled
exec sp_configure 'show advanced options',1 reconfigure exec sp_configure 'Agent XPs',1 reconfigure
The error generated when executing the job is the following
An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo) SQLServerAgent is not currently running so it cannot be notified of this action. (Microsoft SQL Server, Error: 22022)
I tried to start the SQL Server Agent with the command EXEC xp_servicecontrol N’START ‘, N’SQLServerAGENT’ , but it generates another error
StartService() returned error 1053, ‘The service did not respond to the start or control request in a timely fashion.’
The question would be, how can I enable the SQL Server Agent in the container that is already running to be able to schedule jobs
Настройка SQL Server Agent
SQL Server Agent — служба MS SQL Server 2008, позволяющая запускать SQL-скрипты по расписанию.
Примером такого SQL-скрипта может являться функция отправки e-mail в зависимости от набора данных.
По умолчанию SQL Server Agent отключен и запуск этой службы не всегда является тривиальной задачей.
Для использования SQL Server Agent необходимо выполнить следующее:
-
Включить процедуры агента
sp_configure ‘show advanced options’, 1;
GO
RECONFIGURE;
GO
sp_configure ‘Agent XPs’, 1;
GO
RECONFIGURE
GO
Примечания по 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).
