Outlook 客户端反复断开连接并重新连接到 Exchange Server 2013

原始 KB 编号: 2962915

症状

在 2013 Exchange Server遇到以下一个或多个症状。

症状 1

Outlook 2013 客户端、Outlook 2010 客户端或 Outlook 2007 客户端与运行 Exchange Server 2013 的服务器断开连接。 断开连接后不久,客户端将重新连接到 Exchange 服务器。 此行为会重复进行。

症状 2

MSExchangeRpcProxyAppPool 不断回收。 在 ProbeResult 日志中的 Application and Services Logs\Microsoft\Exchange\ActiveMonitoring 下事件查看器中,你会看到指示 StoreError=UnknownUser 值的不同 2013 年数据库的 Outlook 服务探测结果错误。

在日志条目的 “详细信息” 视图中,可以看到以下行:

Microsoft.Exchange.Data.Storage.DatabaseNotFoundException:找不到 ID <为 GUID> 的数据库

错误事件的相关部分如下:

日志名称:Microsoft-Exchange-ActiveMonitoring/ProbeResult
来源:Microsoft-Exchange-ActiveMonitoring
日期: DateTime
事件 ID: 2
任务类别:探测结果
级别:错误
关键 字:
用户:SYSTEM
计算机: CAS.contoso.com
说明:
事件 Xml:
<ServiceName>Outlook</ServiceName>
<IsNotified>0</IsNotified>
<ResultName>OutlookMailboxCtpProbe/2013 Mailbox Database 1</ResultName>
<WorkItemId>121</WorkItemId>
<DeploymentId>0</DeploymentId>
<MachineName>CAS1</MachineName>
<在 ConnectCallResult 中返回错误>。 错误代码 = UnknownUser (0x000003EB) </Error>
<在 ConnectCallResult 中返回错误>。 错误代码 = UnknownUser (0x000003EB) </Error>
<异常>Microsoft.Exchange.RpcClientAccess.RopExecutionException:在 ConnectCallResult 中返回错误。 错误代码 = UnknownUser (0x000003EB) ---> System.Exception: Microsoft.Exchange.RpcClientAccess.Server.UnknownUserException: 无法映射 userDn '/o=First Organization/ou=Monitoring Mailboxes/cn=Recipients/cn=HealthMailboxcaea01e2cff44 6d1b0645f01d11fb55f' to exchangePrincipal (StoreError=UnknownUser) --- Microsoft.Exchange.Data.Storage.DatabaseNotFoundException:找不到 ID <为 Unknown DB Guid> 的数据库。

症状 3

应用程序 MSExchangeRpcProxyAppPool 池会像在 CAS 上一样持续回收。 在系统日志中,可能还会看到记录的事件 7031 和 7032,如下所示:

时间: DateTime
ID: 7031
级别:错误
源:服务控制管理器
计算机: <2013 MBX 服务器名称>
消息:Microsoft Exchange RPC 客户端访问服务意外终止。 () ,它已执行此操作 1 次。 将在 5000 毫秒内采取以下纠正措施:重启服务。
时间: DateTime
ID:7032
级别:错误
源:服务控制管理器
计算机: MachineName
消息:在 Microsoft Exchange RPC 客户端访问服务意外终止后,服务控制管理器尝试采取纠正措施 (重启服务) ,但此操作失败并出现以下错误:
%%1056

注意

此日志条目指示 RPC 客户端访问服务意外终止。

症状 4

在 Exchange 2013 MBX 服务器上,在 ProbeResult 日志中的 Application and Services Logs\Microsoft\Exchange\ActiveMonitoring 下事件查看器中,可以看到不同 2013 数据库的 Outlook.Protocol 服务探测结果错误事件,这些事件指示 StoreError=UnknownUser 值。

在日志条目的 “详细信息” 视图中,可以看到以下行:

Microsoft.Exchange.Data.Storage.DatabaseNotFoundException:找不到 ID <为 GUID> 的数据库

错误事件的相关部分如下:

日志名称:Microsoft-Exchange-ActiveMonitoring/ProbeResult
来源:Microsoft-Exchange-ActiveMonitoring
日期: DateTime
事件 ID: 2
任务类别:探测结果
级别:错误
关键 字:
用户:SYSTEM
计算机: mailbox1.contoso.com
说明:
探测结果 (名称=OutlookSelfTestProbe)
事件 Xml:
<ServiceName>Outlook.Protocol</ServiceName>
<IsNotified>0</IsNotified>
<ResultName>OutlookSelfTestProbe</ResultName>
<WorkItemId>60</WorkItemId>
<DeploymentId>0</DeploymentId>
<MachineName>MAILBOX2</MachineName>
<在 ConnectCallResult 中返回错误>。 错误代码 = UnknownUser (0x000003EB) </Error><Exception>Microsoft.Exchange.RpcClientAccess.RopExecutionException: 在 ConnectCallResult 中返回的错误。 错误代码 = UnknownUser (0x000003EB) --- System.Exception:Microsoft.Exchange.RpcClientAccess.Server.UnknownUserException: 无法映射 userDn '/o=First Organization/ou=Monitoring Mailboxes/cn=Recipients/cn=HealthMailbox147dc27242bb4da4acd5d94cf214934b' to exchangePrincipal (StoreError=UnknownUser) ---> Microsoft.Exchange.Data.Storage.DatabaseNotFoundException:找不到 ID <为 Unknown DB Guid> 的数据库。>

原因

出现此问题的原因是,在 ADSI 编辑中删除了一个或多个 Exchange 2013 邮箱数据库指向的公用文件夹数据库作为默认公用文件夹数据库设置。 日志条目详细信息中提到的未知数据库 GUID 是已删除的公用文件夹数据库的 GUID。

可以通过运行以下命令来验证此问题:

Get-MailboxDatabase | FL name,PublicFolderDatabase

此命令生成的输出如下所示:

Name : 2013 Mailbox Database
PublicFolderDatabase : Contoso.com/Configuration/Deleted Objects/Public FolderDatabaseDEL:<GUID>

注意

此输出指示一个或多个 Exchange 2013 邮箱数据库指向Active Directory 域服务 (AD DS) 的已删除对象容器中的公用文件夹对象。

解决方法 - 方法 1

警告

如果使用 ADSI 编辑管理单元、LDP 实用工具或任何其他 LDAP 版本 3 客户端,并且错误地修改了 Active Directory 对象的属性,可能会导致严重问题。 这些问题可能需要重新安装 Microsoft Windows 2000 Server、Microsoft Windows Server 2003、Microsoft Exchange 2000 Server、Microsoft Exchange Server 2003 或 Windows 和 Exchange。 Microsoft 无法保证可以解决错误地修改 Active Directory 对象属性时出现的问题。 修改这些属性的风险自担。

如果不使用旧版公用文件夹数据库,或者如果您在纯 Exchange 2013 环境中工作,请删除指向已删除的公用文件夹数据库对象的每个 Exchange 2013 邮箱数据库上的默认公用文件夹数据库设置。

为此,请在 ADSI 编辑中连接到 CN=配置,然后导航到此位置:

Domain.com/Configuration/Services/Microsoft Exchange/Org/Administrative Groups/Exchange Administrative Group (FYDIBOHF23SPDLT)/Databases

清除 msExchHomePublicMDB 值,使其读取为 <未设置>

解决方法 - 方法 2

如果您位于包含 Exchange 2013 的 Exchange 共存环境中,并且仍在连接到不使用 Exchange 2013 公用文件夹) 的旧公用文件夹数据库 (,则可以将默认公用文件夹数据库设置为有效的 Exchange 2010 或 Exchange 2007 旧版公用文件夹数据库。 为此,请在 Exchange 命令行管理程序中运行以下命令:

Set-MailboxDatabase <Exchange MDB> -PublicFolderDatabase <Legacy Public Folder DB to use>