症状
安装 Microsoft Exchange Server 2019 更新后,在邮箱中搜索项目时可能会收到不完整的结果。
原因
每次Exchange Server升级期间,都会重新安装 Microsoft Search Foundation。 尽管此过程并不总是成功完成,但此类失败不会阻止Exchange Server升级完成。
在这种情况下,升级的服务器似乎已完全正常运行。 但是,一些问题会影响与 Microsoft Search Foundation 关联的服务。 例如,禁用Microsoft Exchange 搜索服务,或停止 Noderunner.exe 进程。 由于这些问题,运行 Exchange Server 的服务器停止为邮箱项目编制索引。 如果索引失败持续很长时间,则未编制索引的邮箱项目将进入永久失败状态。
在项目进入此失败状态后,如果修复了影响搜索过程的问题,服务器将恢复对项目进行索引。 但是,默认情况下,服务器不会尝试为进入永久失败状态的项编制索引。 因此,这些项目不会显示在搜索结果中。
解决方法
若要解决此问题,请为处于永久失败状态的项创建新的替代,然后重新编制这些项的索引。 请按照下列步骤操作:
-
通过运行以下 cmdlet 创建设置替代:New-SettingOverride -Name "Big Funnel Permanent Retry" -Component "BigFunnel" -Section "BigFunnelFailedItemsQuerySettings" -Parameters @("ExcludePermanentFailures=false") -Reason "Re-Index Messages" -MinVersion "<Build Number>" -MaxVersion "<Build Number>"注意 在此 cmdlet 中,将 <内部版本号> 替换为包含受影响邮箱的服务器上运行的Exchange Server内部版本号。
-
通过运行以下 cmdlet 更新配置:Get-ExchangeDiagnosticInfo -Process Microsoft.Exchange.Directory.TopologyService -Component VariantConfiguration -Argument Refresh 运行此 cmdlet 后,应在 %ExchangeInstallPath%\v15\config 目录中看到 BigFunnel.Overrides.ini 文件。
-
触发Exchange Server,为以前未编制索引的邮箱项目编制索引。 为此,请运行以下 cmdlet:Start-MailboxAssistant -Identity <mailbox ID> -AssistantName BigFunnelRetryFeederTimeBasedAssistant
注意:
-
在此 cmdlet 中,将 <邮箱 ID> 替换为受影响邮箱的名称。
-
bigFunnelRetryFeederTimeBasedAssistant () cmdlet 中使用的助手的名称区分大小写。
-
cmdlet 在 Exchange Server 2019 累积更新 11 及更高版本中可用。
此 cmdlet 不会解决所有与索引相关的问题。 相反,它会提醒 Exchange 搜索服务为从未编制索引且处于非索引状态的项目编制索引。
-
注意: 设置替代有助于避免为了对项目重新编制索引而必须移动邮箱。 但是,建议不要将替代集永久保留在环境中,因为这可能会导致 CPU 使用率增加。 对项重新编制索引后,使用 Remove-SettingOverride cmdlet 删除替代。