Настройка 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).
Компонент «Расширенные хранимые процедуры агента» отключен в конфигурации безопасности этого сервера
Ошибка: При добавлении нового или редактировании существующего плана обслуживания (Maintenance Plan) выдается ошибка:
Компонент «Расширенные хранимые процедуры агента» отключен в конфигурации безопасности этого сервера. Системный администратор может разрешить использование компонента «Расширенные хранимые процедуры агента» при помощи процедуры sp_configure. Дополнительные сведения о включении компонента «Расширенные хранимые процедуры агента» см. в разделе «Настройка контактной зоны» электронной документации по SQL Server. (ObjectExplorer)
Решение: Выполнить следующий запрос:
sp_configure ‘show advanced options’, 1;
GO
RECONFIGURE;
GO
sp_configure ‘Agent XPs’, 1;
GO
RECONFIGURE
GO
Комментарий: При выполнении данной инструкции может выдаться ошибка “Нерегламентированное обновление в системных каталогах не поддерживается.” В этом случае можно использовать “RECONFIGURE with override”, т.е.
sp_configure ‘show advanced options’, 1;
GO
RECONFIGURE with override;
GO
sp_configure ‘Agent XPs’, 1;
GO
RECONFIGURE with override
GO
Системная процедура sp_configure — установка параметров конфигурации в Microsoft SQL Server
В SQL Server от компании Microsoft для управления ресурсами сервера используются параметры конфигурации, в данном материале мы поговорим о системной процедуре sp_configure, с помощью которой можно просматривать и изменять эти параметры.
Для начала давайте поговорим о том, для чего вообще нужны параметры конфигурации, и стоит ли их изменять.
Параметры конфигурации Microsoft SQL Server
Параметры конфигурации SQL сервера – это параметры, которые применяются ко всему экземпляру сервера. С помощью данных параметров можно оптимизировать ресурсы с целью увеличения производительности или расширить базовый функционал (включить дополнительную возможность).
Если параметры поддерживаются на нескольких уровнях, то параметры конфигурации на уровне экземпляра имеют меньший приоритет, чем параметры на уровне базы данных или те параметры, которые задаются с помощью инструкции SET.
Параметры конфигурации SQL Server настроены таким образом, что их изменять следует только в самых крайних случаях, причем это нужно делать осознано, т.е. понимать, на что это повлияет, поэтому рекомендуется, чтобы такие параметры изменяли опытные администраторы или разработчики.
Некоторые часто используемые параметры конфигурации доступны в графической среде SQL Server Management Studio, все параметры посмотреть или изменить можно с помощью системной процедуры sp_configure.
Популярные параметры конфигурации сервера:
- show advanced options – параметр используется для отображения всех параметров, которые возвращает системная процедура sp_configure. По умолчанию отображается только часть параметров;
- Agent XPs – параметр включает расширенные хранимые процедуры агента SQL Server;
- clr enabled – параметр включает возможность использования пользовательских сборок CLR;
- Database Mail XPs – параметр включает компонент Database Mail на SQL сервере;
- xp_cmdshell – данный параметр позволяет включить возможность использования расширенной системной процедуры xp_cmdshell. В целях безопасности по умолчанию она отключена;
- Ad Hoc Distributed Queries – разрешает использовать нерегламентированные распределенные запросы в инструкциях OPENROWSET и OPENDATASOURCE;
- query wait – с помощью данного параметра можно задать время в секундах, в течение которого запрос будет ожидать ресурсы;
- remote login timeout — с помощью этого параметра можно изменить время ожидания в секундах подтверждения удаленного входа, по истечении которого будет возвращаться сообщение об ошибке. Например, если сервер недоступен, можно сделать так, что ошибка будет возвращаться быстрей, чем поведение по умолчанию.
Подробней обо всех параметрах конфигурации Microsoft SQL Server можете почитать в официальной справке.
Системная процедура sp_configure
sp_configure – это системная процедура, предназначенная для отображения или изменения глобальных параметров конфигурации текущего SQL сервера. После того, как Вы изменили параметр конфигурации, необходимо выполнить инструкцию RECONFIGURE, для того чтобы изменения вступили в силу, иногда, при изменении некоторых параметров, требуется перезапуск всего экземпляра SQL Server.
Если Вы укажете конфигурационное значение, которое не соответствует спецификации, т.е., например, выходит за пределы допустимых значений, RECONFIGURE выдаст ошибку (например, ошибка «Нерегламентированное обновление в системных каталогах не поддерживается»). Однако инструкция RECONFIGURE WITH OVERRIDE отключает проверку конфигурационных значений, но, как Вы понимаете, ее нужно использовать с особой осторожностью, ведь указав значение, которое выходит за пределы допустимых, Вы намерено допускаете возможность возникновения ошибок.
У процедуры sp_configure есть два необязательных параметра, это:
- Первый — имя параметра конфигурации, если параметр отсутствует, то возвращается весь список параметров;
- Второй — новое значение параметра конфигурации.
Для того чтобы выполнить процедуру sp_configure без изменений параметров конфигурации, т.е. на просмотр параметров, особые права не нужны, но, для того чтобы изменить параметры конфигурации с помощью процедуры sp_configure, нужно разрешение ALTER SETTINGS, т.е., например, быть членом предопределенных ролей сервера sysadmin и serveradmin, у которых есть данное разрешение.
Примеры использования процедуры sp_configure
Включаем отображение всех параметров конфигурации
EXEC sp_configure 'show advanced options', 1 RECONFIGURE
Запускаем процедуру на просмотр параметров
--Смотрим один конкретный параметр EXEC sp_configure 'show advanced options' --Смотрим все параметры EXEC sp_configure

Также посмотреть параметры конфигурации сервера можно с помощью системного представления sys.configurations, оно даже возвращает чуть больше информации, чем процедура sp_configure.
SELECT * FROM sys.configurations

Разрешаем использование нерегламентированные распределенные запросы
--Значение до изменения EXEC sp_configure 'Ad Hoc Distributed Queries' --Устанавливаем новое значение EXEC sp_configure 'Ad Hoc Distributed Queries', 1 --Переконфигурируем RECONFIGURE --Значение после изменения EXEC sp_configure 'Ad Hoc Distributed Queries'

Уменьшаем время ожидание подтверждения удаленного входа
--Значение до изменения EXEC sp_configure 'remote login timeout' --Устанавливаем новое значение EXEC sp_configure 'remote login timeout', 5 --Переконфигурируем RECONFIGURE --Значение после изменения EXEC sp_configure 'remote login timeout'

Заметка! Если Вас интересует SQL и T-SQL, рекомендую посмотреть мои видеокурсы по T-SQL, с помощью которых Вы «с нуля» научитесь работать с SQL и программировать с использованием языка T-SQL в Microsoft SQL Server.
У меня все, надеюсь, материал был Вам полезен, удачи!
MSSQL — ошибка Agent XPs disabled

После обновления Windows почему-то перестал запускаться агент MSSQL. При ручном запуске получаем ошибку:


Параметр 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
Новые настройки вступают в силу сразу же, без остановки или перезапуска сервера.
