サービスアカウントはデータベースメールを使用するためにどのような権限が必要ですか?


9

管理されたサービスアカウントでSQL Server 2012インスタンスを実行しています。1つのアカウントでデータベースメールを構成し、テストメールを送信しようとしていますが、サーバーのイベントログにエラーが表示されます。

データベースエンジンインスタンス= MYINSTANCE;メールPID = 2132;エラーメッセージ:データベースの更新に失敗しました。理由:EXECUTE権限がオブジェクト 'sysmail_logmailevent_sp'、データベース 'msdb'、スキーマ 'dbo'で拒否されました。

データベースエンジンインスタンス= MYINSTANCE;メールPID = 2212; 例外の種類:Microsoft.SqlServer.Management.SqlIMail.Server.Common.BaseExceptionメッセージ:データベースの読み取りに失敗しました。理由:EXECUTE権限がオブジェクト 'sp_readrequest'、データベース 'msdb'、スキーマ 'dbo'で拒否されました。データ:System.Collections.ListDictionaryInternal TargetSite:Microsoft.SqlServer.Management.SqlIMail.Server.Objects.QueueItem GetQueueItemFromCommand(System.Data.SqlClient.SqlCommand)HelpLink:NULL Source:DatabaseMailEngine

SQL Serverプロセスを実行しているアカウントをsysadminにすると、このエラーはなくなり、メールは正常に送信されます。ただし、私が行ったすべての調査では、このアカウントDatabaseMailUserRolemsdbデータベースでの役割を与えるだけで十分であることが示唆されています。これを実行しても、同じエラーが発生します。

BOLを調べましたが何も見つかりませんでした。


SQLサーバーとSQLエージェントは同じアカウントで実行されていますか?
Kin Shah

@kinいいえ、個別のアカウント(両方の管理されたサービスアカウント)。
マンスフィールド

あなたはSQLサーバーと同じサービスアカウントでSQLエージェントを実行しようとすることができます-それを除外してそれが機能するかどうかを確認するだけですか?
Kin Shah

@Kin sysadmin権限があるため、機能します。私のメインサービスアカウントに今のところsysadmin権限を与えましたが、すべてが機能しています。それが多すぎるかどうか知りたいだけです。
マンスフィールド

回答:


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.