Чтобы отправлять автоматические уведомления об ошибках задания от агента SQL Server, необходимо настроить Database Mail, а затем SQL Agent properties > Alert System > Mail Session > Enable mail profile
, чтобы настроить mail system
и mail profile
, которые будут использоваться для отправки уведомлений по электронной почте. У нас много серверов, и мы хотели бы настроить центральное межсерверное задание, которое гарантирует, что параметр Enable mail profile
проверяется на разных серверах, потому что в противном случае запланированные задания завершатся сбоем без отправки уведомления по электронной почте.
Существует ли поддерживаемый способ запроса базы данных msdb
для доступа к этим настройкам с помощью T-SQL (или каким-либо другим программным способом)?
Запуск трассировки SQL Profiler при открытии страницы свойств в пользовательском интерфейсе агента SQL Server показывает ссылки на msdb.dbo.sp_get_sqlagent_properties
, которая является недокументированной процедурой (я бы предпочел использовать документированные объекты, чтобы помочь нашему решению в будущем), и несколько вызовов master.dbo.xp_instance_regread
, которые я можно предположить, что ключи reg могут меняться для каждой установки экземпляра SQL Server.
Кто-нибудь знает способ запроса, чтобы проверить, настроена ли опция enable mail profile
, а также получить mail profile
, который указан в конфигурациях системы оповещения агента SQL? Большинство наших серверов — это SQL Server 2008 R2, а некоторые — SQL 2012. Я бы предпочел поддержку SQL 2008+.
Заранее спасибо!