データベース メールのトラブルシューティング : sp_send_dbmail で権限が拒否された場合

このトピックでは、データベース メールの送信を試みたユーザーには sp_send_dbmail を実行する権限がないというエラー メッセージに対してトラブルシューティングを行う方法について説明します。

このエラー メッセージのテキストは次のとおりです。

EXECUTE permission denied on object 'sp_send_dbmail', 
database 'msdb', schema 'dbo'.

EXECUTE permission denied on object 'sp_send_dbmail', 
database 'msdb', schema 'dbo'.

データベース メールを送信するには、ユーザーが msdb データベースに存在し、msdb データベースの DatabaseMailUserRole データベース ロールのメンバである必要があります。msdb のユーザーやグループをこのロールに追加するには、SQL Server Management Studio を使用するか、データベース メールを送信する必要のあるユーザーまたはロールに対して次のステートメントを実行します。

EXEC msdb.dbo.sp_addrolemember @rolename = 'DatabaseMailUserRole'
    ,@membername = '<user or role name>';
GO

EXEC msdb.dbo.sp_addrolemember @rolename = 'DatabaseMailUserRole'
    ,@membername = '<user or role name>';
GO