SP_SEND_MAIL 的执行权限不起作用?
Execute permission for SP_SEND_MAIL not working?
就此事恳请各位指点。
我正在尝试从 SQL 服务器执行存储过程。我在 VB.NET 应用程序中使用了它。
在连接字符串中使用 "SA" 登录时,我可以毫无问题地执行代码,但如果没有...我会收到此错误
The EXECUTE permission was denied on the object 'sp_send_dbmail', database 'msdb', schema 'dbo'.
所以,我在这个网站和其他网站上进行了搜索,指出要为 DatabaseMailUserRole 添加对命令未执行的帐户的权限。
我想我已经做到了,虽然没有使用这个 method
这是我所做的事情的屏幕截图。
批准执行
下面是我想在存储过程中运行的命令。
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
有 server roles
public
& sysadmin
并且 User Mapping
也被选择为 msdb
table 您正尝试从中执行存储过程。
所以,请告诉我,如果我做错了或什么..
首先我读了这个artice
GRANT EXECUTE ON object::sp_send_dbmail TO DatabaseMailUserRole
我得到了这段代码并尝试 运行 它,什么都没有发生,好吧,错误发生了。
那么最常见的解决方案:
EXEC msdb.dbo.sp_addrolemember @rolename = 'DatabaseMailUserRole'
,@membername = 'ff';
GO
也没用...
但是当我使用
ALTER DATABASE <mydatabase> SET TRUSTWORTHY ON
它运行良好...但是,将数据库设置为 TRUSTWORTHY 会产生后果吗?请注意这只是一个内部网络项目。
就此事恳请各位指点。
我正在尝试从 SQL 服务器执行存储过程。我在 VB.NET 应用程序中使用了它。
在连接字符串中使用 "SA" 登录时,我可以毫无问题地执行代码,但如果没有...我会收到此错误
The EXECUTE permission was denied on the object 'sp_send_dbmail', database 'msdb', schema 'dbo'.
所以,我在这个网站和其他网站上进行了搜索,指出要为 DatabaseMailUserRole 添加对命令未执行的帐户的权限。
我想我已经做到了,虽然没有使用这个 method
这是我所做的事情的屏幕截图。
下面是我想在存储过程中运行的命令。
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
有 server roles
public
& sysadmin
并且 User Mapping
也被选择为 msdb
table 您正尝试从中执行存储过程。
所以,请告诉我,如果我做错了或什么..
首先我读了这个artice
GRANT EXECUTE ON object::sp_send_dbmail TO DatabaseMailUserRole
我得到了这段代码并尝试 运行 它,什么都没有发生,好吧,错误发生了。
那么最常见的解决方案:
EXEC msdb.dbo.sp_addrolemember @rolename = 'DatabaseMailUserRole'
,@membername = 'ff';
GO
也没用...
但是当我使用
ALTER DATABASE <mydatabase> SET TRUSTWORTHY ON
它运行良好...但是,将数据库设置为 TRUSTWORTHY 会产生后果吗?请注意这只是一个内部网络项目。