Sql SP_发送邮件的执行权限不工作?
关于这件事,我诚恳地请求你的指导 我正在尝试从SQL SERVER执行存储过程。我在VB.NET应用程序中使用了它 当在连接字符串中使用“SA”登录时,我可以毫无问题地执行代码,但如果不是。。。我收到这个错误Sql SP_发送邮件的执行权限不工作?,sql,sql-server,sp-send-dbmail,Sql,Sql Server,Sp Send Dbmail,关于这件事,我诚恳地请求你的指导 我正在尝试从SQL SERVER执行存储过程。我在VB.NET应用程序中使用了它 当在连接字符串中使用“SA”登录时,我可以毫无问题地执行代码,但如果不是。。。我收到这个错误 The EXECUTE permission was denied on the object 'sp_send_dbmail', database 'msdb', schema 'dbo'. 因此,我在这个站点和其他站点中搜索,指出要向命令未执行的帐户添加权限,即DatabaseMai
The EXECUTE permission was denied on the object 'sp_send_dbmail', database 'msdb', schema 'dbo'.
因此,我在这个站点和其他站点中搜索,指出要向命令未执行的帐户添加权限,即DatabaseMailUserRole
我想我已经做到了,但没有用这个
以下是我所做事情的截图
准予执行
下面是我希望在存储过程中运行的命令
exec msdb.dbo.sp_send_dbmail
@profile_name = 'SendSQLMail',
@recipients = 'test@gmail.com',
@blind_copy_recipients ='test2@gmail.com',
@subject = 'TESTS',
@body = "A SOMETHING",
@execute_query_database = '[FF]',
@body_format = 'text'
如果你需要更多关于我工作的细节,请告诉我
编辑:
我想授予访问权限的用户名是FF,如果它为
sa
工作,我看到的唯一问题是权限。尝试将sa
用户的相同权限添加到msdb
的用户中。我正在添加截图以供参考
这里我用黄色突出显示了所需的权限
对于任何用户,请确保
msdb
具有服务器角色
公共
&系统管理员
,并且还为试图从中执行存储过程的msdb
表选择了用户映射
。如果它为sa
工作,我看到的唯一问题是权限。尝试将sa
用户的相同权限添加到msdb
的用户中。我正在添加截图以供参考
这里我用黄色突出显示了所需的权限
对于任何用户,请确保
msdb
具有服务器角色
公共
&系统管理员
,并且用户映射
也被选择用于msdb
表,您正试图从该表执行存储过程。因此,请告诉我我所做的是错误的还是错误的
首先我读了这个
我得到了这段代码并试图运行它,什么也没有发生,嗯,发生了错误
那么最常见的解决方案是:
EXEC msdb.dbo.sp_addrolemember @rolename = 'DatabaseMailUserRole'
,@membername = 'ff';
GO
也不起作用
但是当我使用
ALTER DATABASE <mydatabase> SET TRUSTWORTHY ON
ALTER数据库集可信
它工作得很好。。。但是,将数据库设置为可信是否会产生后果?请注意,这只是一个内部网络项目。所以,请告诉我我所做的是错误的还是 首先我读了这个 我得到了这段代码并试图运行它,什么也没有发生,嗯,发生了错误 那么最常见的解决方案是:
EXEC msdb.dbo.sp_addrolemember @rolename = 'DatabaseMailUserRole'
,@membername = 'ff';
GO
也不起作用
但是当我使用
ALTER DATABASE <mydatabase> SET TRUSTWORTHY ON
ALTER数据库集可信
它工作得很好。。。但是,将数据库设置为可信是否会产生后果?请注意这只是一个内部网络项目。@marc\u s我不知道。。。抱歉,我的意思是,使用SA测试sp_dbsendmail可以正常工作,但如果其他登录,则无法正常工作。@marc_s我不。。。抱歉,我的意思是,使用SA测试sp_dbsendmail可以正常工作,但如果其他登录名无法正常工作。我检查了,我也检查了DatabaseMailUserRole,但它仍然不工作我检查了,我也检查了DatabaseMailUserRole,但它仍然不工作