Недавно я обновил SQL Server 2005 с помощью SP4. После обновления БД не работает почта как из Джобса, так и из T-SQL.
Выдается следующее исключение.
1) Exception Information =================== Exception Type: 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.CreateSendMailCommand (DBSession dbSagementSession) в Microsoft.Session dbSagementSession. SqlIMail.Server.Controller.CommandRunner.Run (DBSession db) в Microsoft.SqlServer.Management.SqlIMail.IMailProcess.ThreadCallBack.MailOperation (Object o) 2) Информация об исключении =============== ==== Тип исключения: System.IndexOutOfRangeException Сообщение: тайм-аут Данные: System.Collections.ListDictionaryInternal TargetSite: Int32 GetOrdinal (System.String) HelpLink: NULL Источник: System.Data StackTrace Information =========== ======== в System.Data.ProviderBase.FieldNameLookup.GetOrdinal (String fieldName) в Syst em.Data.SqlClient.SqlDataReader.GetOrdinal (строковое имя) в System.Data.SqlClient.SqlDataReader.get_Item (строковое имя) в Microsoft.SqlServer.Management.SqlIMail.Server.DataAccess.DataAccessAdapter.GetAccount (Int32 accountID)
Согласно MSDN, это должно происходить, когда ProductVersion и ResourceVersion отличаются. однако, как проверено, оба они одинаковы.
ОС - Windows Server 2008 64 бит. SQL Server - 64-разрядная версия SQL Server 2005, недавно обновленная до SP4. Электронная почта БД обрабатывается.
Будут применены любые возможные решения или обходные пути.
Эта статья в базе знаний похоже, подразумевает, что это ошибка в SQL Server 2008 SP1 и 2005 SP3. Он не был обновлен для включения SP4. Вы перешли непосредственно с SP3 -> SP4 за относительно короткое время? Состояние могло возникнуть, когда вы установили SP3, но вы не успели достаточно долго, чтобы заметить это. Или вы, возможно, были в SP3 + некоторые CU, которые включали исправление, но SP4 отменил исправление. Мне кажется довольно странным, что они вызывают эту проблему в двух разных пакетах обновлений и не извлекают из этого достаточно информации, чтобы повторить ее снова в следующем пакете обновления.
Я бы предложил либо (а) удалить пакет обновления для временного восстановления функциональности, либо (б) применить Накопительное обновление №3 для SP4 чтобы узнать, вошло ли исправление в одно из обновлений с момента выпуска SP4 (я не вижу, чтобы оно было указано явно ни в одной из их отдельных статей базы знаний, но они не всегда указываются отдельно).