Ho un'istanza di SQL Server 2012 in esecuzione con un account di servizio gestito. Ho configurato la posta del database con un account e sto cercando di inviare un'e-mail di prova, ma visualizzo alcuni errori nei registri degli eventi del server:
Database Engine Instance = MYINSTANCE; Mail PID = 2132; Messaggio di errore: l'aggiornamento al database non è riuscito. Motivo: l'autorizzazione EXECUTE è stata negata sull'oggetto 'sysmail_logmailevent_sp', database 'msdb', schema 'dbo'.
Istanza motore di database = MYINSTANCE; Mail PID = 2212; Tipo di eccezione: Microsoft.SqlServer.Management.SqlIMail.Server.Common.BaseException Messaggio: la lettura sul database non è riuscita. Motivo: l'autorizzazione EXECUTE è stata negata sull'oggetto 'sp_readrequest', database 'msdb', schema 'dbo'. Dati: System.Collections.ListDictionaryInternal TargetSite: Microsoft.SqlServer.Management.SqlIMail.Server.Objects.QueueItem GetQueueItemFromCommand (System.Data.SqlClient.SqlCommand) HelpLink: NULL Fonte: DatabaseMailEngine
Se trasformo l'account che esegue SQL Server elabora un amministratore di sistema, questo errore scompare e le e-mail vengono inviate correttamente. Tuttavia, tutta la ricerca che ho fatto suggerisce che dare a questo account il DatabaseMailUserRole
ruolo nel msdb
database dovrebbe essere sufficiente. L'ho fatto e ricevo ancora gli stessi errori.
Ho dato un'occhiata al BOL ma non sono riuscito a trovare nulla.