服务帐户使用数据库邮件需要什么权限?


9

我有一个在托管服务帐户下运行的SQL Server 2012实例。我已经使用一个帐户配置了数据库邮件,并尝试发送测试电子邮件,但是服务器的事件日志中出现了一些错误:

数据库引擎实例= MYINSTANCE;邮件PID = 2132;错误消息:对数据库的更新失败。原因:对对象'sysmail_logmailevent_sp',数据库'msdb',模式'dbo'的EXECUTE权限被拒绝。

数据库引擎实例= MYINSTANCE;邮件PID = 2212; 异常类型:Microsoft.SqlServer.Management.SqlIMail.Server.Common.BaseException消息:数据库读取失败。原因:对对象'sp_readrequest',数据库'msdb',模式'dbo'的EXECUTE权限被拒绝。数据:System.Collections.ListDictionaryInternal TargetSite:Microsoft.SqlServer.Management.SqlIMail.Server.Objects.QueueItem GetQueueItemFromCommand(System.Data.SqlClient.SqlCommand)帮助链接:NULL来源:DatabaseMailEngine

如果我使运行SQL Server的帐户成为sysadmin,则该错误消失,邮件成功发送。但是,我所做的所有研究都表明,赋予此帐户数据库DatabaseMailUserRole角色msdb应该足够。我这样做了,仍然收到相同的错误。

我在BOL中查看了一下,但找不到任何东西。


sql server和sql agent是否在同一帐户下运行?
Kin Shah 2014年

@kin不,单独的帐户(两个托管服务帐户)。
曼斯菲尔德2014年

您是否可以尝试使用与sql server相同的服务帐户运行SQL Agent-只是为了排除它并检查是否有效?
Kin Shah 2014年

@Kin具有sysadmin权限,因此它将起作用。我已经给我的主要服务帐户sysadmin权限,并且一切正常-我只是想知道这是否太多。
曼斯菲尔德2014年

Answers:


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.