Добавлен SQL Server 2008 R2 в домен, невозможно отправить электронное письмо

У меня была отдельная машина с SQL Server 2008 R2, которую я подключил к домену. Я установил MSA и настроил все службы SQL для входа под ним. Я могу получить доступ к БД удаленно и выполнять запросы, но почта базы данных не работает. Я создал пользователя в MSDB для учетной записи MSA и добавил его в роль DatabaseMailUserRole. При отправке тестового электронного письма я получаю следующую ошибку:

1) Информация об исключении

Тип исключения: Microsoft.SqlServer.Management.SqlIMail.Server.Common.BaseException Сообщение. Не удалось прочитать информацию о конфигурации почты из базы данных. Данные: System.Collections.ListDictionaryInternal TargetSite: Microsoft.SqlServer.Management.SqlIMail.Server.Objects.Account GetAccount(Int32) HelpLink: NULL Источник: DatabaseMailEngine

Информация о StackTrace

в Microsoft.SqlServer.Management.SqlIMail.Server.DataAccess.DataAccessAdapter.GetAccount(Int32 accountID) в Microsoft.SqlServer.Management.SqlIMail.Server.Controller.CommandFactory.CreateSendMailCommandSl..Controller.CommandFactory.CreateCommand(DBSession dbSession) в Microsoft.SqlServer.Management.SqlIMail.Server.Controller.CommandRunner.Run(DBSession db) в Microsoft.SqlServer.Management.SqlIMail.Oll

2) Информация об исключении

Тип исключения: System.Data.SqlClient.SqlException Ошибки: System.Data.SqlClient.SqlErrorCollection Класс: 16 LineNumber: 1 Номер: 15247 Процедура: sp_PostAgentInfo Сервер: CCPC\GRDB Состояние: 1 Источник: .Net SqlClient Поставщик данных Ошибка 46466021 Код ошибки: Сообщение: у пользователя нет прав на выполнение этого действия. Данные: System.Collections.ListDictionaryInternal TargetSite: Void OnError(System.Data.SqlClient.SqlException, Boolean) HelpLink: NULL

Информация о StackTrace

в System.Data.SqlClient.SqlConnection.OnError(исключение SqlException, логическое breakConnection) в System.Data.SqlClient.SqlInternalConnection.OnError(исключение SqlException, логическое breakConnection) в System.Data.SqlCarser.ObState.WebState.Ont_Ont_Web.Ont.Data.SqlClient.TdsParser.Run (runBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader DATASTREAM, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) в System.Data.SqlClient.SqlDataReader.ConsumeMetaData() в System.Data.SqlClient.SqlDataReader.get_MetaData() в системе.Data.SqlClient.SqlCommand. RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, логическое returnStream, строковый мет od, результат DbAsyncResult) в System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, логический returnStream, метод String) в System.Data.SqlClient.SecExReader.conf.SqlClient.SqlCommand.ExecuteReader() в Microsoft.SqlServer.Management.SqlIMail.Server.DataAccess.DataAccessAdapter.GetAccount(Int32 accountID)

1 ответ

Исправлено после долгих поисков, проб и ошибок.

1) Найдите каталог Binn для экземпляра и дайте пользователю MSA разрешение на выполнение.
2) exec sp_addsrvrolemember 'MSA', 'SysAdmin'

Не знаю, зачем нужен этот последний шаг или он безопасен, но он работает сейчас.

Другие вопросы по тегам