我收到此错误:
Msg 229, Level 14, State 5, Procedure sp_send_dbmail, Line 1
The EXECUTE permission was denied on the object 'sp_send_dbmail', database 'msdb', schema 'dbo'.
代码的相关部分:
/****** Object: StoredProcedure [dbo].[dbo.STATUSCHANGE_EMAILALERT] ******/
EXEC msdb.dbo.sp_send_dbmail
@recipients = 'Test@gmail.com', -- Group Email
@subject = 'Employee Status Update',
@profile_name ='Test@gmail.com', -- Setup the profile name group
@body = @body,
@body_format = 'HTML';
最佳答案
找到了对我有用的又好又简单的修复here :
如果您的 SQL 应用程序无法使用数据库邮件发送电子邮件(我假设您已经有 DBMail 帐户和配置文件设置),则需要设置两件事:
- SQL MANAGEMENT STUDIO > 管理 > 数据库邮件 > 右键单击并 选择配置... > 选择管理配置文件安全 > SQL 管理
- 选中 PUBLIC 选项
- 点击“默认配置文件”并将其设置为"is"
- STUDIO > 数据库 > 系统数据库 > 右键单击 MSDB,然后 选择 NEW QUERY > 然后输入 > grantexecute on sp_send_dbmail to 公开并单击“确定”
关于sql - 无法执行 msdb.dbo.sp_send_dbmail,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12425096/