Как запустить агент sql server
Использование 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.
Затем на вкладке Ответ нужно установить флаг Уведомить операторов, выбрать в списке нужного и установить у него флаг Электронная почта:
Для того, чтобы полный текст ошибки был включен в отправляемое сообщение, необходимо на вкладке Параметры установить флаг По электронной почте.
Запуск задания
В Управляемом экземпляре Azure SQL в настоящее время поддерживается большинство функций агента SQL Server (но не все). Подробные сведения см. в статье Различия в T-SQL между Управляемым экземпляром SQL Azure и SQL Server.
В этой статье описывается, как запускать задания агента Microsoft SQL Server в SQL Server с помощью среды SQL Server Management Studio, Transact-SQL или управляющих объектов SQL Server.
Задание — это указанная последовательность действий, выполняемых агентом SQL Server . SQL Server могут выполняться на одном локальном сервере или на нескольких удаленных серверах.
- Перед началом работыБезопасность
- Для запуска задания используется:Среда SQL Server Management StudioTransact-SQLУправляющие объекты SQL Server
Перед началом
Безопасность
Использование среды SQL Server Management Studio
Запуск задания
- В обозревателе объектов подключитесь к экземпляру компонента Компонент SQL Server Database Engineи разверните его.
- Разверните узел Агент SQL Server , затем разверните узел Задания. В зависимости от того, как нужно запускать задание, сделайте следующее.
- При работе с одиночным сервером, работе на целевом сервере или запуске задания локального сервера на главном сервере щелкните правой кнопкой мыши задание, которое нужно запустить, и выберите пункт Запустить задание.
- Если нужно запустить несколько заданий, щелкните правой кнопкой мыши компонент Монитор активности заданий, а затем выберите пункт Просмотр активности заданий. В разделе «Монитор активности заданий» можно выбрать несколько заданий, щелкнуть их правой кнопкой мыши и выбрать пункт Запустить задания.
- При работе на главном сервере, чтобы все целевые серверы запускали данное задание одновременно, щелкните правой кнопкой мыши нужное задание, выберите пункт Запустить задание, а затем пункт Запустить на всех целевых серверах.
- При работе на главном сервере, чтобы указать целевые серверы для данного задания, щелкните правой кнопкой мыши нужное задание, выберите пункт Запустить задание, а затем пункт Запустить на указанных целевых серверах. В диалоговом окне Инструкции после загрузки установите флажок Эти целевые серверы и отметьте все серверы, на которых должно запускаться данное задание.
Использование Transact-SQL
Запуск задания
- В обозревателе объектовподключитесь к экземпляру компонента Компонент Database Engine.
- На стандартной панели выберите пункт Создать запрос.
- Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить.
-- starts a job named Weekly Sales Data Backup. USE msdb ; GO EXEC dbo.sp_start_job N'Weekly Sales Data Backup' ; GO
Дополнительные сведения см. в разделе sp_start_job (Transact-SQL).
Использование управляющих объектов SQL Server
Запуск задания
Вызовите метод Start класса Job на любом языке программирования, таком как Visual Basic, Visual C# или PowerShell. Дополнительные сведения см. в статье Управляющие объекты SQL Server (SMO).
MSSQL в Windows: не удалось запустить агент SQL Server
Microsoft.SQLServer.Windows.CollectionRule.Agent.SQLServerAgent_could_not_be_started_1_5_Rule (Rule)
Процесс или пользователь попытались запустить службу агента SQL Server, но запустить службу не удалось.
Knowledge Base article:
Сводка
Процесс или пользователь попытались запустить службу агента SQL Server, но запустить службу не удалось.
Note that this rule does not work if SQL Server on Windows instance is monitored agentlessly.
Причины
К причинам, по которым не удается запустить службу, относятся следующие: учетная запись не прошла проверку подлинности, проблемы с производительностью, SQL Server не запущен.
Разрешения
Просмотрите журнал приложений Windows, журнал SQL Server и журнал агента SQL Server, чтобы определить основную причину проблемы, и устраните ее.
Переопределяемые параметры
Значение по умолчанию
Указывает, должен ли модуль собирать события, которые возникают не на компьютере, указанном в параметре ComputerName.
Включает или отключает рабочий процесс.
Определение приоритета оповещений.
Определяет серьезность предупреждения.
Element properties:
Member Modules:
ID | Module Type | TypeId | RunAs |
---|---|---|---|
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ | DataSource | Microsoft.SQLServer.Windows.EventProvider | Default |
GenerateAlert | WriteAction | System.Health.GenerateAlert | Default |
Source Code:
';MOM2017GroupID=">EventCollection
" TypeID="Microsoft.SQLServer.Windows.EventProvider">$Target/Property[Type="SqlDiscW!Microsoft.SQLServer.Windows.Agent"]/ComputerName$ Application false
Channel Equal
Application
EventDisplayNumber Equal
103
PublisherName Equal
$Target/Property[Type="SqlDiscW!Microsoft.SQLServer.Windows.Agent"]/ServiceName$
1 1 $MPElement[Name="Microsoft.SQLServer.Windows.CollectionRule.Agent.SQLServerAgent_could_not_be_started_1_5_Rule.AlertMessage"]$
$Data/EventDisplayNumber$ $Data/Params/Param[1]$
© System Center Core Team
Настройка 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).