10

データベースの所有者であるデータベースユーザーがいます。アプリケーションの要件は、SQLサーバーのデータベースメールを使用してメールを送信することです。

そのユーザーにメール送信のみの許可を追加する方法はありますか?

サーバーロールがpublicであるtestuserという名前のユーザーがいて、1つのデータベースのdb_ownerです。そのユーザーにsysadminサーバーロールを与える必要がない方法を教えてください。

4

3 に答える 3

13

以下の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'
于 2012-07-26T09:43:36.847 に答える
3

ログイン(またはロール)をデータベースメールロールに追加した後、メールプロファイルに割り当てる必要があります。以下のスクリプトでは、ゼロではなくデフォルトの1を設定する必要がある場合があります。

use msdb
exec sp_addrolemember 'DatabaseMailUserRole', 'sqlUser'

EXECUTE msdb.dbo.sysmail_add_principalprofile_sp  
@principal_name = 'sqlUser',  
@profile_name = 'sqlMailProfileName',
@is_default = 0 
于 2018-03-15T13:55:11.720 に答える
2

ここに画像の説明を入力してください

MSDBデータベースの「DatabasemailUserRole」をユーザーに追加する必要があります

于 2017-03-22T20:12:13.867 に答える