Sql-Server

服務帳號需要哪些權限才能使用數據庫郵件?

  • July 8, 2019

我有一個在託管服務帳戶下執行的 SQL Server 2012 實例。我已經使用一個帳戶配置了數據庫郵件,並正在嘗試發送一封測試電子郵件,但我在伺服器的事件日誌中遇到了一些錯誤:

數據庫引擎實例=MYINSTANCE;Mail PID=2132;錯誤資訊:數據庫更新失敗。原因:對象“sysmail_logmailevent_sp”、數據庫“msdb”、模式“dbo”的執行權限被拒絕。

數據庫引擎實例=MYINSTANCE;郵件 PID=2212; 異常類型:Microsoft.SqlServer.Management.SqlIMail.Server.Common.BaseException 消息:數據庫讀取失敗。原因:對象“sp_readrequest”、數據庫“msdb”、模式“dbo”的執行權限被拒絕。數據:System.Collections.ListDictionaryInternal TargetSite:Microsoft.SqlServer.Management.SqlIMail.Server.Objects.QueueItem GetQueueItemFromCommand(System.Data.SqlClient.SqlCommand) HelpLink:NULL 來源:DatabaseMailEngine

如果我將執行 SQL Server 程序的帳戶設置為系統管理員,則此錯誤消失,郵件發送成功。但是,我所做的所有研究都表明,賦予該帳戶DatabaseMailUserRole在數據庫中的角色msdb就足夠了。我已經這樣做了,但仍然收到相同的錯誤。

我查看了 BOL,但找不到任何東西。

SQL Server 代理服務帳戶需要實例的系統管理員權限。

微軟知識庫

引用自:https://dba.stackexchange.com/questions/59302