Exchange2010环境中,一个数据库DB08,DAG,目前在Server04装入,但是数据库副本在Server06和01上的内容索引一直失败:
查看06服务器日志,每30秒左右就报出警告:
------------------------
日志名称: Application
来源: MSExchange Search Indexer
事件 ID: 107
任务类别: 常规
级别: 警告
关键字: 经典
用户: 暂缺
计算机: MX06.ZZY.COM
描述:
由于出现错误(Microsoft.Mapi.MapiExceptionCannotRegisterNewReplidGuidMapping: MapiExceptionCannotRegisterNewReplidGuidMapping: Unable to open entry. (hr=0x80004005, ec=2620)
Diagnostic context:
Lid: 55847 EMSMDBPOOL.EcPoolSessionDoRpc called [length=83]
Lid: 43559 EMSMDBPOOL.EcPoolSessionDoRpc returned [ec=0x0][length=232][latency=0]
Lid: 23226 --- ROP Parse Start ---
Lid: 27962 ROP: ropIdFromLtid [68]
Lid: 17082 ROP Error: 0xA3C
Lid: 25697
Lid: 21921 StoreEc: 0xA3C
Lid: 27962 ROP: ropExtendedError [250]
Lid: 1494 ---- Remote Context Beg ----
Lid: 26426 ROP: ropIdFromLtid [68]
Lid: 58239
Lid: 40191 StoreEc: 0xA3C
Lid: 22787 Error: 0x0
Lid: 22787 Error: 0x0
Lid: 22787 Error: 0x0
Lid: 56575
Lid: 15452 StoreEc: 0xA3C
Lid: 59031
Lid: 42647 StoreEc: 0xA3C
Lid: 1750 ---- Remote Context End ----
Lid: 26849
Lid: 21817 ROP Failure: 0xA3C
Lid: 23342
Lid: 27694 StoreEc: 0xA3C
Lid: 24401
Lid: 18257 StoreEc: 0xA3C
在 Microsoft.Mapi.MapiExceptionHelper.ThrowIfError(String message, Int32 hresult, SafeExInterfaceHandle iUnknown, Exception innerException)
在 Microsoft.Mapi.MapiContainer.InternalOpenEntry(Byte[] entryId, OpenEntryFlags flags, Int32& objType)
在 Microsoft.Mapi.MapiContainer.OpenEntry(Byte[] entryId, OpenEntryFlags flags)
在 Microsoft.Exchange.Search.RetriableOperations.OpenSubFolder(ThreadLocalCrawlData crawlData, MapiFolder parentFolder, Byte[] entryIdToOpen, Object unusedParam)
在 Microsoft.Exchange.Search.RetriableOperations.DoRetriableMapiOperation[SourceType,ReturnType,Parameter1Type,Parameter2Type](ThreadLocalCrawlData crawlData, SourceType source, Parameter1Type parameter1, Parameter2Type parameter2, MapiOperationDelegate`4 operationDelegate)
在 Microsoft.Exchange.Search.MailboxIndexingHelper.OpenFolder(FolderToIndex folderInfo)
在 Microsoft.Exchange.Search.MailboxIndexingHelper.GetIndexableItems(List`1& indexableItems)),Exchange 搜索索引器已暂时禁用邮箱数据库 DB08 (GUID = 0732ddcb-d301-4e90-b7d0-692a1af2f036)的索引。
------------------------
然后尝试了7种解决方案:
尝试一> 重启了Exchange 搜索索引器 服务,重启Server06
结果:内容索引依然失败。
尝试二> 重启 Exchange 搜索索引器 服务,执行命令 Update-MailboxDatabaseCopy -Identity DB08\MX06 -Catalogonly
结果:内容索引依然失败。
尝试三>
重启 Exchange 搜索索引器 服务,执行命令 Update-MailboxDatabaseCopy -Identity DB08\MX06 -SourceServer MX04 -CatalogOnly -DeleteExistingFiles
结果:内容索引依然失败。
尝试四> 关闭 Server06 上Exchange 搜索索引器 服务,然后在DB08数据目录下删除CatalogData-... 文件夹,重启搜索索引器 服务。
结果:内容索引状态显示爬网,过段时间显示失败。
尝试五> 删除DB08在 Server06 上的数据副本,格式化数据目录分区,重新在控制台中为DB08在 Server06 上添加副本。
结果:添加完成后,内容索引依然失败。
尝试六> 使用带有 -SkipClientExperienceChecks 参数的 Move-ActiveMailboxDatabase,将主动数据库移动到Server06上,并在该服务器上运行脚本 ./ResetSearchIndex.ps1 -force DB08。
结果:内容索引状态显示爬网,过段时间显示失败。
尝试七> 执行数据库修复 new-mailboxrepairrequest -database DB08 -corruptiontype searchfolder
结果:内容索引依然失败。
-------------------------------------
检查一下索引状态正常的 Server04 发现一个 Google 都搜不到的错误。
每30秒左右就不停报 ID 10041 的错误:
日志名称: Application
来源: MSExchangeIS
事件 ID: 10041
任务类别: 常规
级别: 错误
关键字: 经典
用户: 暂缺
计算机: MX04.AB.COM
描述:
在数据库"DB08"上,邮箱"38aa5336-11bf-4f49-a110-f3eab3244121: /o=ab/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=userb4bf8b67"的签名已被更换为新的长期 ID GUID: 251d051f-2147-4288-a35a-ff6d81ebcfe2
--------------------
根据内容说在DB08上的这个用户有问题,但是通过检查发现,该用户不在DB08上,而在DB07上
尝试执行 New-MailboxRepairRequest 修复,也无效果。
-------------------
又经过各种尝试,最终找到解决方案
Get-Mailbox -Identity 6636b42b-99d2-4f88-b536-9f409aeb4421 | fl DisplayName,Database,Alias
获取该用户别名,最后连接邮箱用到
Get-MailboxDatabase | Get-MailboxStatistics | Where { $_.MailboxGuid -eq "6636b42b-99d2-4f88-b536-9f409aeb4421" } | fl
获取用户邮箱状态及所在的数据库,执行后发现该用户确实在两个数据库中都存在数据记录
Disable-Mailbox -Identity 6098bf36-6375-48d9-816a-97246582e538
禁用该邮箱,只是断开与AD的连接
Remove-Mailbox -Database DB08 -StoreMailboxIdentity 6098bf36-6375-48d9-816a-97246582e538
删除DB08上的冗余的数据记录
Connect-Mailbox -Identity 6098bf36-6375-48d9-816a-97246582e538 -Database DB07 -User UserAccount -Alias ab000138liujin
重新连接用户邮箱