Внеплановая статья. Я хотел совсем другими делами заняться, но, возникла проблема. На MSSQL 2014 сервере сбросили пароль sa. После сброса пароля перестал запускаться SQL Server Agent.
При запуске агента от системного пользователя моментально получаем ошибку:
The SQL Server Agent (MSSQLSERVER) service failed to start due to the following error:
The service did not respond to the start or control request in a timely fashion.
При запуске агента от доменного пользователя, от которого он раньше работал, вылет по таймауту:
A timeout was reached (30000 milliseconds) while waiting for the SQL Server Agent (MSSQLSERVER) service to connect.
База пока работает, но без агента бэкапов не будет, а это нехорошо. На такой случай стоит воспользоваться стандартными средствами восстановления MSSQL Server. И тут нам поможет установочный дистрибутив MSSQL Server, всегда оставляйте его на сервере после установки. Монтируем ISO образ.
Запускаем setup.exe, я делаю это ит имени администратора.
Maintenance.
Repair.
Выбираем инстанс, он у меня один, стандартный Next.
Repair.
Начинается процесс восстановления. Отличный инструмент под названием "восстановить всё".
Операция завершена. Close.
Пробую запустить агент.
О чудо, он заработал. Всегда бы так всё чинилось!
P.S.
Для включения планов обслуживания в среде Microsoft SQL Server Management Studio при возникновении ошибки:
компонент Agent XPs отключен
Параметр Agent XPs отвечает за включение/выключение расширенных хранимых процедур агента SQL Server. Если расширенные хранимые процедуры агента SQL Server отключены, вы не можете создавать планы обслуживания Microsoft SQL Server, а узел агента SQL Server будет недоступен в обозревателе объектов Microsoft SQL Server Management Studio.
Почему-то эти настройки слетели после сброса пароля sa.
Для включения расширенных хранимых процедур агента SQL Server выполните следующие действия:
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'Agent XPs', 1;
GO
RECONFIGURE
GO
Новые настройки вступают в силу сразу же, без остановки или перезапуска сервера.