ContentEngine 由于缺少韩语 WordBreaker 规则文件而死锁

应用对象
Exchange Server SE

症状

安装 Microsoft Exchange 的 2026 年 9 月安全更新后,处理包含韩语内容的电子邮件的 Exchange 环境可能会遇到以下一种或多种症状:

  • 搜索结果可能缺失。
  • Email 发送可能会延迟。
  • MAPI 或 Outlook 客户端可能无响应、停止或断开连接。

原因

更新的韩语 WordBreaker 所需的程序集文件并未作为 Microsoft Exchange 2026 年 9 月安全更新的一部分安装。

解决方法

若要解决此问题,需要以下两个外部规则数据文件来更新韩语断字符:

必需文件 字节 SHA256
ko.token.rule.bin 56132 8F2BD853593913EB8F73DCD4FCAC4216F216A0FF76A4569DF071BE3C36773010
ko.complex.rule.bin 717792 0390D1E9A76EF33283025CF8F164430E311584B9535949C4EA1A74B6BB107B87

注意

仅将此过程用于符合指定的内部版本和已安装 DLL 验证条件且缺少两个规则文件的受影响安装。 不要仅根据症状应用该程序。 如果任一规则文件已存在,或者任何必需的验证检查失败,请在对安装进行任何更改之前停止并联系 Microsoft 支持部门。

获取两个规则文件

注意

这两个文件的匹配副本包含在 Microsoft 公开提供的 SQL Server 2025 Express RTM 包中, (英语 x64) 。 在管理工作站上(而不是在 Exchange 服务器上)下载并解压缩程序包。

以下过程使用包的仅提取模式以及 Windows Installer 的管理映像模式。 它不安装 SQL Server,也不需要任何其他软件或自定义脚本。

创建一个工作文件夹,例如 C:\Temp\KoreanRules,并确保它有足够的可用空间来存放安装媒体和提取的文件。 以下命令使用此文件夹作为工作目录。

在管理工作站上,以管理员身份打开 PowerShell。 如果您使用不同的工作文件夹,请相应地更新所有命令中的路径。

重要

在每个部分中指定的计算机上以 管理员身份运行 PowerShell 中的所有命令。 Windows 终端可以与 PowerShell 选项卡一起使用。单独运行每个命令。 如果某个命令报告错误,请在继续执行下一个命令之前停止。

  1. 将 SQLEXPR_x64_ENU.exe 从 Microsoft 下载到工作文件夹中。 已验证的包是版本 17.0.1000.7,文件大小为 748772024 字节。 在文件资源管理器中,打开其属性 > 数字签名,选择 Microsoft 签名并打开详细信息。 确认签名有效。 计算文件的 SHA256:

    Get-FileHash -LiteralPath 'C:\Temp\KoreanRules\SQLEXPR_x64_ENU.exe' -Algorithm SHA256
    

    将显示的哈希与以下内容进行比较:

    74AA90C11202A5524E769B9BC22531BAEF22D91E9B2D2E8C3CB99E89A65C5297
    

    如果数字签名无效、哈希命令失败或计算的哈希与预期值不匹配,则停止该过程。 这些说明仅适用于此确切的包。

  2. 将 SQL 媒体提取到新的媒体子文件夹中。 完全按照所示使用 EXE 的仅提取开关;不启动 SQL 安装程序:

    $process = Start-Process 'C:\Temp\KoreanRules\SQLEXPR_x64_ENU.exe' -ArgumentList '/q /x:"C:\Temp\KoreanRules\Media"' -Wait -PassThru
    

    命令完成后,立即检查其退出代码:

    $process.ExitCode
    

    命令静默运行。 此 -Wait 参数等待完成,并 -PassThru 返回进程对象。 仅当为 0 并且C:\Temp\KoreanRules\Media\x64\Setup\SQL_FULLTEXT.MSI存在时$process.ExitCode才继续。 如果提取失败,则停止;不要继续使用部分文件夹。

  3. 使用 Windows Installer 的管理映像模式将 Full-Text 程序包提取到新的Files子文件夹中:

    $arguments = '/a "C:\Temp\KoreanRules\Media\x64\Setup\SQL_FULLTEXT.MSI" TARGETDIR="C:\Temp\KoreanRules\Files" /qn /norestart /L*V "C:\Temp\KoreanRules\extract.log"'
    

    使用以下参数运行管理提取:

    $process = Start-Process msiexec.exe -ArgumentList $arguments -Wait -PassThru
    

    命令完成后,立即检查其退出代码:

    $process.ExitCode
    

    /a 开关创建源图像;它不执行正常的本地产品安装。 请勿将 /a 替换为 /i、双击 MSI 或运行 SQL 安装程序。 等待完成并立即检查退出代码。 仅当它为 0 时继续。 如果不是,请停止并保留 C:\Temp\KoreanRules\extract.log 以便进行故障排除。

  4. 在以下位置找到两个规则文件:

    C:\Temp\KoreanRules\Files\Program Files\Microsoft SQL Server\MSSQL.X\MSSQL\Binn\ftcomponents\wordbreakers
    

    文件已具有所需的名称、ko.token.rule.bin和ko.complex.rule.bin。 无需重命名。 计算每个 SHA256:

    Get-FileHash -LiteralPath 'C:\Temp\KoreanRules\Files\Program Files\Microsoft SQL Server\MSSQL.X\MSSQL\Binn\ftcomponents\wordbreakers\ko.token.rule.bin' -Algorithm SHA256
    

    接下来,计算以下值的 ko.complex.rule.bin哈希值:

    Get-FileHash -LiteralPath 'C:\Temp\KoreanRules\Files\Program Files\Microsoft SQL Server\MSSQL.X\MSSQL\Binn\ftcomponents\wordbreakers\ko.complex.rule.bin' -Algorithm SHA256
    

    将显示的 SHA256 哈希值和文件大小与上面列出的所需文件标识进行比较。 成功的 Get-FileHash 命令仅确认哈希已计算;你仍必须验证它是否与预期值匹配。 如果哈希或文件大小不同于所需值,请停止该过程。

  5. 仅将两个已验证的 BIN 文件传输到受影响的 Exchange 服务器上的临时暂存文件夹。 不要传输完全提取的 SQL 媒体或 Files 文件夹。

    不要将 SQL 的 korwbrkr.dll 或任何其他 SQL 组件复制到 Exchange。 SQL DLL 是不同的版本;此解决方法中仅使用这两个规则数据文件。

验证安装并复制文件

在进行更改之前,请在一台受影响的 Exchange 服务器上本地执行以下检查。 使用实际的 Exchange 安装目录;不要假设特定的驱动器或默认路径。 在运行以下命令之前,请替换 <ExchangeInstallPath> 为该目录。

  1. 确认本地 <ExchangeInstallPath>\Bin\ExSetup.exe 文件版本为 15.02.2562.049。 根据下表验证以下目录中已安装的 korwbrkr.dll:

    <ExchangeInstallPath>\Bin\Search\Ceres\Native
    
    安装的文件仅 (验证;不要替换) 预期 SHA256
    korwbrkr.dll
    版本: 16.0.5194.1000
    326544 字节
    1C6BD8E144BA677EBCC83323AE59DB3881918170F9B3A5189B44611558B92C61

    使用文件的“属性>详细信息”选项卡检查其版本。 若要计算安装的 DLL 的 SHA256,请运行:

    Get-FileHash -LiteralPath '<ExchangeInstallPath>\Bin\Search\Ceres\Native\korwbrkr.dll' -Algorithm SHA256
    

    如果内部版本、DLL 版本或 DLL 哈希不同时,请停止并与 Microsoft 支持部门评审适用性。

  2. 确认该本机目录中同时不存在 ko.token.rule.bin 和 ko.complex.rule.bin。 如果任一文件已存在,请停止;不要覆盖现有文件。

  3. 传输 Get-FileHash -LiteralPath '<full path to file>' -Algorithm SHA256后使用 . 仅将这两个文件复制到已安装的 DLL 旁边的本机目录中。 确保复制的文件获得目录的正常继承读取权限。 不要替换 DLL、词典、配置文件或运行时库。

  4. 计算两个目标文件的哈希值:

    Get-FileHash -LiteralPath '<ExchangeInstallPath>\Bin\Search\Ceres\Native\ko.token.rule.bin' -Algorithm SHA256
    

    接下来,计算以下值的 ko.complex.rule.bin哈希值:

    Get-FileHash -LiteralPath '<ExchangeInstallPath>\Bin\Search\Ceres\Native\ko.complex.rule.bin' -Algorithm SHA256
    

    将它们与上述所需的文件标识进行比较。 仅当两个哈希匹配且文件具有预期的读取权限时才继续。

重启搜索主控制器

  1. 在约定的维护时段内,在提升权限的 PowerShell 中本地运行以下命令:

    Restart-Service -Name HostControllerService
    

    这将重启搜索和内容处理过程,并暂时中断其工作。 如果服务未正常停止,请停止该过程并联系 Microsoft 支持部门,而不是强制终止 Exchange 进程。 不要同时重启所有服务器。

在转到其他服务器之前验证恢复

  1. 在 “任务管理器 > 详细信息”中,启用“命令行”列。 找到其命令行在其 --noderoot 路径中包含 ContentEngineNode1 的 Noderunner.exe 进程。 其可执行文件为:

    <ExchangeInstallPath>\Bin\Search\Ceres\Runtime\1.0\ResourceProfile\contentengine\NodeRunner.exe
    

    可以有多个 Noderunner 进程。 检查此特定实例,而不仅仅是具有该名称的任何进程。 主控制器自动启动它;不要手动启动它。 如果它未启动或重复退出,请停止,然后再继续使用另一台服务器。

  2. 对于活动数据库托管在更改的服务器上的邮箱,请使用 OWA) 验证传递和服务器端搜索新的普通邮件和包含韩语文本Outlook 网页版 (邮件。 运行中的服务或进程本身并不能证明恢复。

  3. 验证最初受影响的工作负载是否已恢复,包括邮件传递或 Outlook 连接(如果适用)。 单独监视现有索引积压工作;成功索引新邮件并不能确定所有较旧的邮件都已处理。

    只有在第一台服务器上验证结果后,才在具有匹配安装的其他受影响服务器上重复服务器端步骤,一次一台服务器。

更多信息

  • Microsoft 正在调查此问题,并将在掌握更多信息时更新本文。