2012-07-26 80 views
5

我有一个数据库用户,它是数据库的所有者。应用程序要求是使用sql server的数据库邮件发送邮件。如何向sql server用户授予sendmail权限?

有没有什么办法可以给该用户添加授权只发送邮件权限?

我有一个名为testuser的有服务器角色公共用户,是1个数据库的db_owner。请告诉我,我不需要给该用户提供sysadmin serverroles。

回答

7

请尝试以下2个选项。

USE msdb; 
--add our user 
CREATE USER ClarkKent FOR LOGIN ClarkKent; 
--give this user rights to use dbmail 
exec sp_addrolemember 'DatabaseMailUserRole', 'ClarkKent' 
现在,如果我们知道ClarkKent从Windows组得到他的授权

,那么您添加Windows组作为一个用户,并添加组将相同的作用;

USE msdb; 
--add our user via a group we know he is in 
CREATE USER 'mydomain\BusinessGroup' FOR LOGIN 'mydomain\BusinessGroup'; 
--give this GROUP rights to use dbmail 
exec sp_addrolemember 'DatabaseMailUserRole', 'mydomain\BusinessGroup' 
+0

突出显示文本并使用“代码示例”图标格式化文本代码。代码示例图标看起来像'{}'。 – 2012-07-26 10:09:36

+0

我试过这个但仍然无法使用数据库邮件服务。 – 2012-07-26 10:54:51

+0

我得到以下消息** EXECUTE权限在对象'sysmail_help_profile_sp',数据库'msdb',架构'dbo'上被拒绝。 (.Net SqlClient数据提供程序)** – 2012-07-26 10:55:58

0

enter image description here

你需要MSDB数据库添加“DatabaseMailUserRole中”用户