Deadlock do ContentEngine devido à falta de arquivos de regra do WordBreaker coreano

Aplica-se a
Exchange Server SE

Sintomas

Depois de instalar a Atualização de Segurança de setembro de 2026 para o Microsoft Exchange, os ambientes do Exchange que processam mensagens de email com conteúdo em coreano podem enfrentar um ou mais dos seguintes sintomas:

  • Os resultados da pesquisa podem estar ausentes.
  • A entrega do Email pode estar atrasada.
  • Os clientes MAPI ou Outlook podem deixar de responder, travar ou desconectar.

Causa

Os arquivos de assembly necessários para o WordBreaker coreano atualizado não são instalados como parte da Atualização de Segurança de setembro de 2026 para o Microsoft Exchange.

Resolução

Para contornar esse problema, você precisa dos dois arquivos de dados de regra externos a seguir para o WordBreaker coreano atualizado:

Arquivo necessário Bytes SHA256
ko.token.rule.bin 56132 8F2BD853593913EB8F73DCD4FCAC4216F216A0FF76A4569DF071BE3C36773010
ko.complex.rule.bin 717792 0390D1E9A76EF33283025CF8F164430E311584B9535949C4EA1A74B6BB107B87

Observação

Use este procedimento somente para instalações afetadas que atendem aos critérios de verificação de DLL de compilação e instalado especificados e não possuem ambos os arquivos de regra. Não aplique o procedimento com base apenas nos sintomas. Se um dos arquivos de regra já existir ou se qualquer verificação necessária marcar falhar, pare e contate o Suporte da Microsoft antes de fazer qualquer alteração na instalação.

Obtenha os dois arquivos de regra

Observação

As cópias correspondentes de ambos os arquivos estão incluídas no pacote RTM do SQL Server 2025 Express da Microsoft, disponível publicamente (inglês x64). Baixe e extraia o pacote em uma estação de trabalho de gerenciamento em vez de em um Exchange server.

O procedimento a seguir usa o modo somente extração do pacote junto com o modo de imagem administrativa do Windows Installer. Ele não instala o SQL Server e não requer nenhum software adicional ou scripts personalizados.

Crie uma pasta de trabalho, como C:\Temp\KoreanRules, e verifique se ela tem espaço livre suficiente para a mídia de instalação e os arquivos extraídos. Os comandos a seguir usam essa pasta como o diretório de trabalho.

Na estação de trabalho de gerenciamento, abra o PowerShell como Administrador. Se você usar uma pasta de trabalho diferente, atualize os caminhos em todos os comandos de acordo.

Importante

Execute todos os comandos no PowerShell como Administrador no computador especificado em cada seção. O Terminal do Windows pode ser usado com uma guia do PowerShell. Execute cada comando separadamente. Se um comando relatar um erro, pare antes de continuar para o próximo comando.

  1. Baixe SQLEXPR_x64_ENU.exe da Microsoft na pasta de trabalho. O pacote verificado é a versão 17.0.1000.7, com um tamanho de arquivo de 748772024 bytes. No Explorador de Arquivos, abra suas Propriedades > Assinaturas digitais, selecione o assinatura da Microsoft e abra Detalhes. Confirme se a assinatura é válida. Calcule o SHA256 do arquivo:

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

    Compare o hash exibido com:

    74AA90C11202A5524E769B9BC22531BAEF22D91E9B2D2E8C3CB99E89A65C5297
    

    Interrompa o procedimento se a assinatura digital for inválida, o comando hash falhar ou o hash calculado não corresponder ao valor esperado. Estas instruções se aplicam apenas a este pacote exato.

  2. Extraia a mídia SQL para a nova subpasta de Mídia. Use a opção somente extração do EXE exatamente como mostrado; não iniciar a Instalação do SQL:

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

    Após a conclusão do comando, marque imediatamente seu código de saída:

    $process.ExitCode
    

    O comando é executado silenciosamente. O -Wait parâmetro aguarda a conclusão e -PassThru retorna o objeto de processo. Continuar somente se $process.ExitCode for 0 e C:\Temp\KoreanRules\Media\x64\Setup\SQL_FULLTEXT.MSI existir. Se a extração falhar, pare; Não continue com uma pasta parcial.

  3. Extraia o pacote de Full-Text para uma nova subpasta do Files usando o modo de imagem administrativa do Windows Installer:

    $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"'
    

    Execute a extração administrativa com estes parâmetros:

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

    Após a conclusão do comando, marque imediatamente seu código de saída:

    $process.ExitCode
    

    A opção /a cria uma imagem de origem; Ele não executa uma instalação local normal do produto. Não substitua /a por /i, clique duas vezes no MSI nem execute a Instalação do SQL. Aguarde a conclusão e marque o código de saída imediatamente. Continue somente se for 0. Se não estiver, pare e guarde C:\Temp\KoreanRules\extract.log para solução de problemas.

  4. Localize os dois arquivos de regra em:

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

    Os arquivos já têm os nomes, ko.token.rule.bin e ko.complex.rule.bin necessários. Não é necessário renomear. Calcular cada 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
    

    Em seguida, calcule o hash de 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
    

    Compare os hashes SHA256 e os tamanhos de arquivo exibidos com as identidades de arquivo necessárias listadas acima. Um comando bem-sucedido Get-FileHash apenas confirma que o hash foi calculado; você ainda deve verificar se ele corresponde ao valor esperado. Interrompa o procedimento se o hash ou o tamanho do arquivo forem diferentes do valor necessário.

  5. Transfira apenas os dois arquivos BIN verificados para uma pasta de preparo temporária no servidor Exchange afetado. Não transfira a mídia SQL extraída completa ou a pasta Files.

    Não copie korwbrkr.dll do SQL ou qualquer outro componente SQL no Exchange. A DLL SQL é uma versão diferente; Somente os dois arquivos de dados de regra são usados nesta solução alternativa.

Verifique a instalação e copie os arquivos

Execute as seguintes verificações localmente em um servidor Exchange afetado antes de fazer alterações. Use o diretório de instalação real do Exchange; Não pressuponha uma unidade específica ou caminho padrão. Substitua <ExchangeInstallPath> por esse diretório antes de executar os comandos abaixo.

  1. Confirme se a versão do arquivo local <ExchangeInstallPath>\Bin\ExSetup.exe é 15.02.2562.049. Verifique os korwbrkr.dll instalados no seguinte diretório em relação à tabela abaixo:

    <ExchangeInstallPath>\Bin\Search\Ceres\Native
    
    Arquivo instalado (verificar apenas; não substituir) SHA256 esperado
    korwbrkr.dll
    Versão 16.0.5194.1000
    326544 bytes
    1C6BD8E144BA677EBCC83323AE59DB3881918170F9B3A5189B44611558B92C61

    Use a guia Detalhes das propriedades > do arquivo para marcar sua versão. Para calcular o SHA256 da DLL instalada, execute:

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

    Se a compilação, a versão da DLL ou o hash da DLL forem diferentes, pare e revise a aplicabilidade com o Suporte da Microsoft.

  2. Confirme se o ko.token.rule.bin e o ko.complex.rule.bin estão ausentes desse diretório nativo. Se um dos arquivos já estiver presente, pare; Não substitua arquivos existentes.

  3. Verifique novamente os hashes dos dois arquivos BIN preparados após a transferência, usando Get-FileHash -LiteralPath '<full path to file>' -Algorithm SHA256. Copie, não mova, apenas esses dois arquivos para o diretório nativo ao lado da DLL instalada. Verifique se os arquivos copiados recebem as permissões de leitura herdadas normais do diretório. Não substitua a DLL, o léxico, os arquivos de configuração ou as bibliotecas de tempo de execução.

  4. Calcule os hashes de ambos os arquivos de destino:

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

    Em seguida, calcule o hash de ko.complex.rule.bin:

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

    Compare-os com as identidades de arquivo necessárias acima. Continue somente se ambos os hashes corresponderem e os arquivos tiverem as permissões de leitura esperadas.

Reiniciar Pesquisar Host Controller

  1. Durante uma janela de manutenção acordada, execute o seguinte comando localmente no PowerShell elevado:

    Restart-Service -Name HostControllerService
    

    Isto reinicia os processos de Pesquisa e processamento de conteúdo e interrompe temporariamente o seu trabalho. Se o serviço não parar normalmente, interrompa o procedimento e contacte Suporte da Microsoft em vez de forçar o encerramento dos processos do Exchange. Não reinicie todos os servidores ao mesmo tempo.

Verificar a recuperação antes de prosseguir para outro servidor

  1. Em Detalhes do Gestor de > Tarefas, ative a coluna Linha de comandos. Localize o processo Noderunner.exe cuja linha de comando contém ContentEngineNode1 em seu caminho --noderoot. Seu executável é:

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

    Podem existir vários processos Noderunner. Verifique esta instância específica, não qualquer processo com esse nome. O Host Controller inicia-o automaticamente; Não o inicie manualmente. Se ele não iniciar ou sair repetidamente, pare antes de prosseguir para outro servidor.

  2. Para uma caixa de correio cujo banco de dados ativo está hospedado no servidor alterado, verifique a entrega e a pesquisa no lado do servidor para novas mensagens comuns e mensagens contendo texto em coreano usando Outlook na Web (OWA). Um serviço ou processo em execução por si só não prova a recuperação.

  3. Verifique se a carga de trabalho originalmente afetada foi recuperada, incluindo a entrega de correio ou a conectividade com o Outlook, quando aplicável. Monitorar o backlog de indexação existente separadamente; A indexação bem-sucedida de novas mensagens não estabelece que todos os itens mais antigos foram processados.

    Repita os passos do lado do servidor noutros servidores afetados com instalações correspondentes, um servidor de cada vez, apenas depois de verificar o resultado no primeiro servidor.

Mais informações

  • A Microsoft está a investigar este problema e atualizará este artigo assim que estiverem disponíveis mais informações.