Exchange Server 2007年的托管的代码和Exchange Server 2007安装更新汇总后,服务没有启动

客户症状分析:

针对 Microsoft Exchange Server 2007年安装更新汇总后,Exchange 2007 的托管的代码可能无法启动服务。此外,系统日志中记录以下事件:

事件类型: 错误

事件源: 服务控制管理器

事件 ID: 7000

说明: Microsoft Exchange EdgeSync 服务启动因以下错误而失败:

服务没有及时启动或控制请求的响应。

事件类型: 信息

事件源: Microsoft Exchange Server

事件 ID: 5001

说明: 77004151 桶,桶表 5、 事件类型 e12、 P1 c rtl amd64,P2 08.00.0733.000,P3 msexchangetransport P4 未知,P5 未知、 P6 s.serviceprocess.timeoutexception,P7 0 P8 08.00.0733.000,P9 零、 零 P10。

事件类型: 错误

事件源: 服务控制管理器

事件 ID: 7000

说明: Microsoft Exchange 传输日志搜索服务启动因以下错误而失败:

服务没有及时启动或控制请求的响应。

事件类型: 错误

事件源: 服务控制管理器

事件 ID: 7009

说明: 超时 (30000 毫秒) 等待连接 Microsoft Exchange 传输日志搜索服务。

在应用程序日志中记录以下事件:

事件类型: 错误

事件源: MSExchange 公

事件类别: 常规

事件 ID: 4999

说明:

Watson 报告将要发送到进程 id 为 dw20.exe: 1448,使用参数: E12,c RTL AMD64 08.00.0733.000,MSExchangeTransport,未知、 未知、 S.ServiceProcess.TimeoutException,0、 08.00.0733.000

事件类型: 错误

事件源: Microsoft Exchange Server

事件 ID: 5000

说明:

事件类型 e12 P1 c rtl amd64,P2 08.00.0733.000,P3 msexchangetransport P4 未知,P5 未知、 P6 s.serviceprocess.timeoutexception,P7 0 P8 08.00.0733.000,P9 零、 零 P10。

注意这取决于 Exchange Server 2007年角色中,事件可能显示为其他 Exchange Server 服务的超时值。

分析原因

因为受影响的计算机不能访问下面的 Microsoft Web 站点,则会出现此问题:

http://crl.microsoft.com/pki/crl/products/CSPCA.crl

此问题是以下行为:•当 Microsoft.NET Framework 2.0 加载托管程序集时,托管程序集调用CryptoAPI函数以验证验证码签名的程序集文件生成的托管程序集的发行者证据。

•CryptoAPI函数会检查证书吊销列表 (CRL),可从 http://crl.microsoft.com。此操作要求互联网连接。

•如果 Internet 连接被阻止,传出 HTTP 请求可能会被丢弃。因此,不会返回一条错误消息。如果计算机无法解析 http://crl.microsoft.com,也可能出现此问题。这种长时间的延迟会导致超时的 CRL 检查。

•服务控制管理器 (SCM) 确定服务花费太长,无法启动该服务的已超过最大的服务启动时。因此,SCM 报告该错误消息,并且 Exchange 托管服务未启动的代码。

解决方案

若要解决此问题,您有以下选项:•Exchange 服务器不必连接到 Internet。它只需要用到黑洞不发送数据包的路由器。因为它永远不会接收到响应时超时的 CRL 检查。如果路由器发送的”没有到主机的路由”ICMP 数据包或类似的错误消息,而不是只丢弃数据包,CRL 检查就会失败,并将启动该服务。可以将项添加到 crl.microsoft.com 中的 hosts 文件或 DNS 服务器上,并将数据包发送到一个合法的位置在网络上,如 127.0.0.1,将拒绝连接。若要执行此操作,使用文本编辑器来打开 Windowssystem32driversetchost 文件,然后添加以下项:

127.0.0.1 crl.microsoft.com

•与 Exchange 服务相关联的配置文件中使用的开关。

如果您使用.NET Framework 2.0 版,请按照”软件更新安装”部分中的步骤。

安装软件更新

如果您使用.NET Framework 2.0 版,安装以下软件更新之一:•软件更新 936707 与 CRL 生成 2.0.50727.876 的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

936707

修复:.NET Framework 2.0 已验证码签名的托管应用程序所需时间比通常久,若要启动

•软件更新 942027 与 CRL 生成 2.0.50727.926 的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

942027

修复: 您可能注意到当您运行的应用程序构建在.NET Framework 2.0 版是非常高的内存负载

•已更新的 CRL 生成一个不同的软件更新。

945757

在.NET Framework 2.0 Service Pack 1 中修复的问题

若要下载.NET Framework 3.5,请访问下面的 Microsoft 网站:

http://www.microsoft.com/downloads/details.aspx?FamilyID=333325fd-ae52-4e35-b531-508d977d32a6&DisplayLang=en

创建配置文件

重要必须将现有的配置文件的副本保存到安全的地方。如果在配置文件中存在错误,则适用的服务将无法启动。

您必须创建 Exchange Server 2007,托管代码的所有服务配置的文件。

如何创建新的配置文件

如果您已经有一个配置文件,请转到”如何更改现有的配置文件”一节。若要创建新的应用程序配置文件包含 CLR 2.0 SP1 中引入了该开关,请执行以下步骤:1.创建一个文件,并命名该ApplicationName。 exe.config。

2.在文本编辑器中,打开该文件。

3.将以下代码添加到文件中。

 

4.保存对文件所做的更改。

您可能必须创建新的配置文件,以下面的服务或应用程序:•Microsoft.Exchange.AntispamUpdateSvc.exe

•MsExchangeFDS.exe

•MSExchangeTransport.exe

如何更改现有的配置文件

重要对配置文件进行任何更改之前,请在安全的地方保存当前文件的副本。

如果服务配置文件已经存在,则文件中的运行时选项节添加以下行。

 

例如,添加此项后,运行时的选项部分将类似于下面的示例。

注意

您可能需要更新下列服务或应用程序的配置文件:•BinEdgeTransport.exe

•BinExBPA.exe

•BinExBPACmd.exe

•BinExTRA.exe

•BinMicrosoft.Exchange.Cluster.ReplayService.exe

•BinMicrosoft.Exchange.EdgeSyncSvc.exe

•BinMicrosoft.Exchange.Monitoring.exe

•BinMicrosoft.Exchange.Search.ExSearch.exe

•BinMicrosoft.Exchange.ServiceHost.exe

•BinMSExchangeMailboxAssistants.exe

•BinMSExchangeMailSubmission.exe

•BinMSExchangeTransportLogSearch.exe

•ClientAccessPopImapMicrosoft.Exchange.Imap4.Exe

•ClientAccessPopImapMicrosoft.Exchange.Pop3.Exe

注意禁用的发行者证据生成不会不拧松安全。该程序集是如同它具有无效验证码签名相同处理。使用该配置开关时,不再被授予基于已验证的验证码签名将被授予任何权限。这种行为是可以接受的因为不是 Exchange Server 2007年具有发行者证据。标准的 CAS 策略不依赖于 PublisherMembershipCondition 类。因此,除非有修改自定义 CAS 策略的计算机上运行的应用程序或者应用程序旨在满足需求的 PublisherIdentityPermission 类,可安全禁用发行者证据为 Exchange 2007,托管代码服务的生成。

故障排除

如果您修改或创建配置文件后,服务没有启动,则通常 XML 语法错误或不正确的值。在这两种情况下,从类似于以下 Exchange 2007 边缘传输服务收到一条错误消息:

Event Type: Error

Event Source: MSExchangeTransport

Event Category: Process

Event ID: 14004

Date: Date

Time: Time

User: N/A

Computer: Computer_Name

Description:

The worker process has failed to load application configuration file: System.Configuration.ConfigurationErrorsException: Configuration system failed to initialize —> System.Configuration.ConfigurationErrorsException: The ‘generatePublisherEvidence’ start tag on line 4 does not match the end tag of ‘runtime’. Line 5, position 6. (C:Program FilesMicrosoftExchange ServerBinedgetransport.exe.config line 5) —> System.Xml.XmlException: The ‘generatePublisherEvidence’ start tag on line 4 does not match the end tag of ‘runtime’. Line 5, position 6.

at System.Xml.XmlTextReaderImpl.Throw(Exception e)

at System.Xml.XmlTextReaderImpl.ThrowTagMismatch(NodeData startTag)

at System.Xml.XmlTextReaderImpl.ParseEndElement()

at System.Xml.XmlTextReaderImpl.ParseElementContent()

at System.Xml.XmlTextReaderImpl.Skip()

at System.Configuration.XmlUtil.StrictSkipToNextElement(ExceptionAction action)

at System.Configuration.BaseConfigurationRecord.ScanSectionsRecursive(XmlUtil xmlUtil, String parentConfigKey, Boolean inLocation, String locationSubPath, OverrideModeSetting overrideMode, Boolean skipInChildApps)

at System.Configuration.BaseConfigurationRecord.ScanSections(XmlUtil xmlUtil)

at System.Configuration.BaseConfigurationRecord.InitConfigFromFile()

— End of inner exception stack trace —

at System.Configuration.ConfigurationSchemaErrors.ThrowIfErrors(Boolean ignoreLocal)

at System.Configuration.BaseConfigurationRecord.ThrowIfParseErrors(ConfigurationSchemaErrors schemaErrors)

at System.Configuration.ClientConfigurationSystem.EnsureInit(String configKey)

— End of inner exception stack trace —

at System.Configuration.ConfigurationManager.GetSection(String sectionName)

at System.Configuration.ConfigurationManager.get_AppSettings()

at Microsoft.Exchange.Transport.TransportAppConfig.GetConfigBool(String label, Boolean defaultValue)

at Microsoft.Exchange.Transport.TransportAppConfig.ResourceManagerConfig.Load()

at Microsoft.Exchange.Transport.TransportAppConfig.Load()

at Microsoft.Exchange.Transport.Main.Program.Run(String[] args)

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

状态

Microsoft 已经确认这是”适用于”一节中列出的 Microsoft 产品中的问题。Microsoft 正在研究这个问题并将发布详细信息此文章中的信息可用时。

属性

这篇文章中的信息适用于:

•Microsoft Exchange Server 2007 Standard Edition

•Microsoft Exchange Server 2007 Enterprise Edition

关键字:

kbmt kbtshoot kbexpertiseinter KB944752 KbMtzh