什么是服务帐户运行数据库邮件的正确权限?

我在SQL Server 2005实例上设置数据库邮件,并在试用邮件时不断收到此日志消息:

Message 1) Exception Information Exception Type: System.NullReferenceException Message: Object reference not set to an instance of an object. Data: System.Collections.ListDictionaryInternal TargetSite: Microsoft.SqlServer.Management.SqlIMail.Server.Objects.AccountGetAccount(Int32) HelpLink: NULL Source: DatabaseMailEngine 

在检查确认我的设置是正确的之后,我尝试将服务帐户用户添加到sysadmin组中,从而解决了问题。

但是我想知道这是否是必要的,或者如果特定的权限问题只是由sysadminangular色覆盖。 有更详细的权限,我应该使用?

是的,有一些比sysadmin更激进的东西!

要使用数据库邮件,用户必须是msdb数据库中的用户,并且是msdbDatabaseMailUserRole数据库angular色的成员。

 USE msdb CREATE USER MailUser FOR LOGIN MailUser GO EXEC sp_addrolemember @rolename='DatabaseMailUserRole', @membername='MailUser' GO