У мене є екземпляр SQL Server 2012, який працює під керованим обліковим записом служби. Я налаштував пошту бази даних з одним обліковим записом і намагаюся надіслати тестовий лист, але я отримую деякі помилки в журналах подій сервера:
Екземпляр двигуна бази даних = MYINSTANCE; Mail PID = 2132; Повідомлення про помилку: оновлення бази даних не вдалося. Причина: В дозволі EXECUTE відмовлено в об'єкті 'sysmail_logmailevent_sp', базі даних 'msdb', схемі 'dbo'.
Екземпляр двигуна бази даних = MYINSTANCE; PID пошти = 2212; Тип винятку: Microsoft.SqlServer.Management.SqlIMail.Server.Common.BaseException Повідомлення: Читання в базі даних не вдалося. Причина: В дозволі EXECUTE було відмовлено в об’єкті 'sp_readrequest', базі даних 'msdb', схемі 'dbo'. Дані: System.Collections.ListDictionaryInternal TargetSite: Microsoft.SqlServer.Management.SqlIMail.Server.Objects.QueueItem GetQueueItemFromCommand (System.Data.SqlClient.SqlCommand) HelpLink: База даних NULL:
Якщо я зробив обліковий запис, що виконує процес SQL Server, систематичним, ця помилка усувається, і листи надсилаються успішно. Однак усі дослідження, які я проводив, говорять про те, що надання цього рахунку DatabaseMailUserRole
ролі в msdb
базі даних повинно бути достатнім. Я це зробив і досі отримую однакові помилки.
Я подивився в BOL, але нічого не зміг знайти.