我正在尝试通过SQL Server Management Studio发送电子邮件,但它会返回错误。
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'Adventure Works Administrator',
@recipients = 'example@example.com',
@body = 'The stored procedure finished successfully.',
@subject = 'Automated Success Message'
错误是:
对象'sp_send_dbmail',数据库'msdb',架构'dbo'上的EXECUTE权限被拒绝。
我上网冲浪解决了这个问题,但没有成功。需要你的帮助。感谢
答案 0 :(得分:1)
可能您的用户对您要定位的SQL实例没有正确的权限,如评论中所示:
grant execute on dbo.sp_send_dbmail to <usernamehere>;
请参阅此问题的Troubleshooting article:
EXEC msdb.dbo.sp_addrolemember @rolename = 'DatabaseMailUserRole'
,@membername = '<user or role name>';
GO
此外,您可能尚未配置此功能,请参阅documentation:
使用前,必须使用数据库邮件启用数据库邮件 配置向导,或sp_configure。
this one用于配置:
USE master
Go
EXEC sp_configure 'show advanced options', 1
Go
RECONFIGURE
Go
EXEC sp_configure 'Database Mail XPs', 1
Go
RECONFIGURE
Go
EXEC sp_configure 'show advanced options', 0
Go
RECONFIGURE
Go