Ich habe eine SQL Server 2012-Instanz, die unter einem verwalteten Dienstkonto ausgeführt wird. Ich habe Datenbank-E-Mails mit einem Konto konfiguriert und versuche, eine Test-E-Mail zu senden. In den Ereignisprotokollen des Servers werden jedoch einige Fehler angezeigt:
Database Engine Instance = MYINSTANCE; Mail PID = 2132; Fehlermeldung: Die Aktualisierung der Datenbank ist fehlgeschlagen. Grund: Die EXECUTE-Berechtigung wurde für das Objekt 'sysmail_logmailevent_sp', Datenbank 'msdb', Schema 'dbo' verweigert.
Database Engine Instance = MYINSTANCE; Mail PID = 2212; Ausnahmetyp: Microsoft.SqlServer.Management.SqlIMail.Server.Common.BaseException-Meldung: Das Lesen der Datenbank ist fehlgeschlagen. Grund: Die EXECUTE-Berechtigung wurde für das Objekt 'sp_readrequest', Datenbank 'msdb', Schema 'dbo' verweigert. Daten: System.Collections.ListDictionaryInternal TargetSite: Microsoft.SqlServer.Management.SqlIMail.Server.Objects.QueueItem GetQueueItemFromCommand (System.Data.SqlClient.SqlCommand) HelpLink: NULL Quelle: DatabaseMailEngine
Wenn ich das Konto, auf dem der SQL Server-Prozess ausgeführt wird, zu einem Systemadministrator mache, wird dieser Fehler behoben und E-Mails werden erfolgreich gesendet. Alle Untersuchungen, die ich durchgeführt habe, legen jedoch nahe, dass es ausreichend sein sollte , diesem Konto die DatabaseMailUserRoleRolle in der msdbDatenbank zuzuweisen. Ich habe dies getan und erhalte immer noch die gleichen Fehler.
Ich warf einen Blick in die BOL, konnte aber nichts finden.