Изменение средства разбиения слов, используемого для британского и американского вариантов английского языка

Применимо к:SQL Server

В этой статье описывается устаревшая процедура переключения средств разбиения слов для американского и британского вариантов английского языка между обновленными компонентами, представленными в SQL Server 2012 (11.x), и прежними английскими компонентами.

Сведения об изменении версии полнотекстового индекса в SQL Server 2025 (17.x) см. в статье об обновлении полнотекстового индекса.

Применимо: SQL Server 2022 (16.x) и более ранних версий.

SQL Server 2012 (11.x) устанавливает обновленную версию средства разбиения слов и стеммера для английского языка, заменив предыдущую версию этих компонентов. Сведения об измененном поведении обновленных компонентов см. в разделе «Изменения в поведении в Full-Text Search».

В этой статье описывается переход с обновленной версии этих компонентов на предыдущую версию или переход с предыдущей версии на обновленную. Для установки кластера внесите эти изменения на все узлы.

Некоторые предыдущие версии SQL Server использовали различные средства разбиения слов, представленные различными CLSID для английского языка США (LCID 1033) и английского языка Великобритании (LCID 2057). В SQL Server 2012 (11.x) и более поздних версиях оба идентификатора языкового стандарта (LCID) используют одни и те же компоненты с одинаковыми CLSID, как показано в таблице ниже.

LCID (Идентификатор языкового стандарта) Модуль разбиения слов, установленный предыдущими версиями (версия 12.0.6828.0) Модуль стеммера, установленный в предыдущих версиях Разделитель слов, установленный с SQL Server 2012 и в более поздних версиях (версия 14.0.4999.1038) Stemmer, установленный вместе с SQL Server 2012 и последующими версиями
1033 (английский язык США) 188d6cc5-cb03-4c01-912e-47d21295d77e eeed4c20-7f1b-11ce-be57-00aa0051fe20 9faed859-0b30-4434-ae65-412e14a16fb8 e1e5ef84-c4a6-4e50-8188-99aef3de2659
2057 (английский язык Великобритании) 173c97e2-aebe-437c-9445-01b237abf2f6 d99f7670-7f1a-11ce-be57-00aa0051fe20 9faed859-0b30-4434-ae65-412e14a16fb8 e1e5ef84-c4a6-4e50-8188-99aef3de2659

Компоненты, описанные в этой статье, — это файлы DLL, установленные в папке MSSQL\Binn для экземпляра SQL Server. Полный путь обычно C:\Program Files\Microsoft SQL Server\<instance>\MSSQL\Binn.

Дополнительные сведения о средствах разбиения слов и стволовых модулях см. в разделе "Настройка и управление средствами разбиения слов" и "Стволовые модули".

Переключение с текущего средства разбиения английских слов на предыдущие средства разбиения английских слов.

В этом примере используется MSSQL17.MSSQLSERVER для значения <InstanceRoot>, который является экземпляром по умолчанию для SQL Server 2025 (17.x). Измените это значение, чтобы оно соответствовало вашей среде.

Приведенные ниже команды добавляют или обновляют ключи в реестре Windows, чтобы задать идентификаторы COM для предыдущих интерфейсов разбиения слов на английском языке США и интерфейсов stemmer для LCID 1033 (enu).

Выполните следующие команды из командной строки с повышенными привилегиями:

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSearch\CLSID\{188D6CC5-CB03-4C01-912E-47D21295D77E}" /ve /t REG_SZ /d "langwrbk.dll"
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSearch\CLSID\{EEED4C20-7F1B-11CE-BE57-00AA0051FE20}" /ve /t REG_SZ /d "infosoft.dll"
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSearch\Language\enu" /v "WBreakerClass" /t REG_SZ /d "{188D6CC5-CB03-4C01-912E-47D21295D77E}" /f
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSearch\Language\enu" /v "StemmerClass" /t REG_SZ /d "{EEED4C20-7F1B-11CE-BE57-00AA0051FE20}" /f

Перезапустите SQL Server, чтобы использовать эти параметры средства разбиения слов.

Переключитесь с предыдущих английских разбиений слов на текущее разбиение слов.

В этом примере используется MSSQL17.MSSQLSERVER для значения <InstanceRoot>, который является экземпляром по умолчанию для SQL Server 2025 (17.x). Измените это значение, чтобы оно соответствовало вашей среде.

Следующие команды добавляют или обновляют ключи в реестре Windows, чтобы задать идентификаторы КЛАССА COM обратно из АНГЛИЙСКОГО языка США для LCID 1033 (enu).

Выполните следующие команды из командной строки с повышенными привилегиями:

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSearch\CLSID\{9FAED859-0B30-4434-AE65-412E14A16FB8}" /ve /t REG_SZ /d "MsWb7.dll"
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSearch\CLSID\{E1E5EF84-C4A6-4E50-8188-99AEF3DE2659}" /ve /t REG_SZ /d "MsWb7.dll"
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSearch\Language\enu" /v "WBreakerClass" /t REG_SZ /d "{9FAED859-0B30-4434-AE65-412E14A16FB8}" /f
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSearch\Language\enu" /v "StemmerClass" /t REG_SZ /d "{E1E5EF84-C4A6-4E50-8188-99AEF3DE2659}" /f

Перезапустите SQL Server, чтобы использовать эти параметры средства разбиения слов.