邮件configuration信息无法从数据库读取

最近我已经用SP4更新了SQL Server 2005。 更新数据库邮件不能从作业和T-SQL中运行。

以下例外被抛出。

1) Exception Information =================== Exception Type: Microsoft.SqlServer.Management.SqlIMail.Server.Common.BaseException 

消息:无法从数据库中读取邮件configuration信息。

Data:System.Collections.ListDictionaryInternal TargetSite:Microsoft.SqlServer.Management.SqlIMail.Server.Objects.Account GetAccount(Int32)HelpLink:NULL Source:DatabaseMailEngine StackTrace信息================在Microsoft.SqlServer.Management的Microsoft.SqlServer.Management.SqlIMail.Server.Controller.CommandFactory.CreateSendMailCommand(DBSession dbSession)上的Microsoft.SqlServer.Management.SqlIMail.Server.DataAccess.DataAccessAdapter.GetAccount(Int32 accountID) SqlIMail.Server.Controller.CommandRunner.Run(DBSession数据库)在Microsoft.SqlServer.Management.SqlIMail.IMailProcess.ThreadCallBack.MailOperation(Object o)2)exception信息=============== ====exceptiontypes:System.IndexOutOfRangeException消息:超时数据:System.Collections.ListDictionaryInternal TargetSite:Int32 GetOrdinal(System.String)HelpLink:NULL源:System.Data StackTrace信息=========== ========在Syst上System.Data.ProviderBase.FieldNameLookup.GetOrdinal(String fieldName) 在Microsoft.SqlServer.Management.SqlIMail.Server.DataAccess.DataAccessAdapter.GetAccount(Int32 accountID)System.Data.SqlClient.SqlDataReader.get_Item(string名称)上的em.Data.SqlClient.SqlDataReader.GetOrdinal(string名称)

按照MSDN,当ProductVersion和ResourceVersion不同时,必须这样做。 然而,作为检查他们都是一样的。

操作系统 – Windows Server 2008 64位。 SQL Server – SQL Server 2005 64位,最近更新到SP4。 数据库邮件已经被删除了。

任何可能的解决scheme或解决方法都会被解决。

这个知识库文章似乎暗示这是SQL Server 2008 SP1&2005 SP3中的一个错误。 它尚未更新为包含SP4。 你是否在相对较短的时间内直接从SP3→SP4? 当您安装SP3时可能会发生这种情况,但是您不在SP3的时间足够长。 或者你可能已经在SP3 +一些铜,包括修复,但SP4解除了修复。 对我来说似乎很奇怪,他们会在两个不同的服务包中导致这个问题,而不能从中学到足够的东西,以致于他们在后续的服务包中重复这个问题。

我会build议(a)卸载服务包临时恢复function,或者(b)应用SP4的累积更新#3来查看修补程序是否将它自SP4发布以来的更新之一(我没有看到它明确列出他们任何单独的知识库文章,但他们并不总是单独列出)。