0

我已经尝试了几个小时来让数据库邮件在 SQL Server 2008 R2 上运行,并且已经走到了死胡同。

我已经完成了数据库邮件配置工具,确保 SQL 浏览器已打开并遵循了数据库邮件故障排除联机丛书中的所有步骤。

当我跑步时SELECT * FROM sysmail_event_log,我在描述栏中得到的只是

无法从数据库中读取邮件配置信息。

我试过用谷歌搜索这个,但大多数匹配都来自拥有异常堆栈的人。我没有任何例外可以使用。

有什么线索吗?

4

2 回答 2

1

在玩了太久之后,我有了运行 SQL Profiler 的灵感,捕捉所有错误(不知道为什么我之前没有想到这一点!)。

在发送测试邮件过程中,它显示

对象“sysmail_help_configure_sp”、数据库“msdb”、模式“dbo”的执行权限被拒绝。针对 System\NT AUTHORITY

所以我给那个用户添加了一堆权限,突然一切都正常了!

我的 NT AUTHORITY 用户现在在msdb数据库中具有以下权限:

  • DatabaseMailUserRole 的成员

执行以下权限:

  • dbo.sp_ProcessResponse
  • dbo.sp_readrequest
  • dbo.sysmail_configure_sp
  • dbo.sysmail_help_account_sp
  • dbo.sysmail_help_admin_account_sp
  • dbo.sysmail_help_configure_sp
  • dbo.sysmail_help_configure_value_sp
  • dbo.sysmail_help_principalprofile_sp
  • dbo.sysmail_help_profile_sp
  • dbo.sysmail_help_profileaccount_sp
  • dbo.sysmail_help_profileaccount_sp
  • dbo.sysmail_help_profileaccount_sp
  • dbo.sysmail_help_profileaccount_sp
于 2012-11-30T02:54:39.870 回答
0

请参考以下链接:

http://www.practicalsqldba.com/2012/03/sql-server-2005-database-mail-stopped.html?showComment=1463171213768#c7726740071461349854

更新msdbsysmail_help_admin_account_sp中的存储过程解决了该问题。

于 2016-05-13T20:30:40.713 回答