原始 KB 数: 2962915
症状
Exchange Server 2013 中出现以下一个或多个症状。
症状 1
Outlook 2013 客户端、Outlook 2010 客户端或 Outlook 2007 客户端与运行 Exchange Server 2013 的服务器断开连接。 断开连接后不久,客户端将重新连接到 Exchange 服务器。 此行为会反复继续。
症状 2
MSExchangeRpcProxyAppPool
不断回收。 在事件查看器中,您可以在 Application and Services Logs\Microsoft\Exchange\ActiveMonitoring 下的 ProbeResult 日志中查看 2013 各数据库的 Outlook 服务探测结果错误,其显示 StoreError=UnknownUser 值。
在日志条目的 “详细信息 ”视图中,会看到以下行:
Microsoft.Exchange.Data.Storage.DatabaseNotFoundException:找不到 ID <GUID> 的数据库
错误事件的相关部分如下:
日志名称:Microsoft-Exchange-ActiveMonitoring/ProbeResult
来源:Microsoft-Exchange-ActiveMonitoring
日期: DateTime
事件 ID:2
任务类别:探测结果
级别:错误
关键字:
用户: 系统
计算机: 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)</错误>
<ConnectCallResult 中返回的错误>。 错误代码 = UnknownUser (0x000003EB)</错误>
<异常>Microsoft.Exchange.RpcClientAccess.RopExecutionException:在 ConnectCallResult 中返回的错误。 错误代码 = UnknownUser(0x000003EB)---> System.Exception:Microsoft.Exchange.RpcClientAccess.Server.UnknownUserException:无法将 userDn '/o=First Organization/ou=Monitoring Mailboxes/cn=Recipients/cn=HealthMailboxcaea01e2cff446d1b0645f01d11fb55f' 映射到 exchangePrincipal(存储错误=UnknownUser)--- Microsoft.Exchange.Data.Storage.DatabaseNotFoundException:无法找到具有 ID <未知数据库 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
任务类别:探测结果
级别:错误
关键字:
用户: 系统
计算机: mailbox1.contoso.com
描述:
探测结果 (Name=OutlookSelfTestProbe)
事件 XML:
<ServiceName>Outlook.Protocol</ServiceName>
<IsNotified>0</IsNotified>
<ResultName>OutlookSelfTestProbe</ResultName>
<WorkItemId>60</WorkItemId>
<DeploymentId>0</DeploymentId>
<MachineName>MAILBOX2</MachineName>
<ConnectCallResult 中返回的错误>。 错误代码 = UnknownUser (0x000003EB)</错误><异常>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' 到 exchangePrincipal(StoreError=UnknownUser) ---> Microsoft.Exchange.Data.Storage.DatabaseNotFoundException:找不到 ID <为 Unknown DB Guid> 的数据库。
原因
之所以出现此问题,是因为在 ADSI Edit 中删除了一个或多个 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=Configuration,然后导航到以下位置:
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>