Modifier le séparateur de mots utilisé pour l'anglais américain et l'anglais britannique

S'applique à :SQL Server

Cet article décrit la procédure héritée permettant de basculer les séparateurs de mots pour l’anglais américain et l’anglais britannique entre les composants mis à jour introduits dans SQL Server 2012 (11.x) et les anciens composants anglais.

Pour plus d’informations sur la modification de la version de l’index de recherche en texte intégral dans SQL Server 2025 (17.x), consultez mise à niveau de la version de l’index de recherche en texte intégral.

S’applique à : SQL Server 2022 (16.x) et versions antérieures.

SQL Server 2012 (11.x) installe une version mise à jour de l'analyseur lexical et de l'analyseur de formes pour la langue anglaise, remplaçant la version précédente de ces composants. Pour plus d’informations sur le comportement modifié des composants mis à jour, consultez Modifications de comportement dans Full-Text Recherche.

Cet article explique comment passer de la version mise à jour de ces composants à la version précédente ou de revenir de la version précédente à la version mise à jour. Pour les installations de cluster, apportez ces modifications sur tous les nœuds.

Certaines versions antérieures de SQL Server utilisaient différents analyseurs de mots représentés par différents CLSID pour l’anglais américain (LCID 1033) et l’anglais britannique (LCID 2057). Dans SQL Server 2012 (11.x) et versions ultérieures, les deux identificateurs de paramètres régionaux (LCID) utilisent les mêmes composants avec les mêmes CLSID, comme indiqué dans le tableau suivant :

LCID Segmentateur de texte installé par les versions précédentes (version 12.0.6828.0) Générateur de formes dérivées installé par les versions précédentes Séparateur de mots installé avec SQL Server 2012 et les versions ultérieures (version 14.0.4999.1038) Stemmer installé avec les versions SQL Server 2012 et ultérieures
1033 (Anglais des États-Unis) 188d6cc5-cb03-4c01-912e-47d21295d77e eeed4c20-7f1b-11ce-be57-00aa0051fe20 9faed859-0b30-4434-ae65-412e14a16fb8 e1e5ef84-c4a6-4e50-8188-99aef3de2659
2057 (Anglais du Royaume-Uni) 173c97e2-aebe-437c-9445-01b237abf2f6 d99f7670-7f1a-11ce-be57-00aa0051fe20 9faed859-0b30-4434-ae65-412e14a16fb8 e1e5ef84-c4a6-4e50-8188-99aef3de2659

Les composants décrits dans cet article sont des fichiers DLL installés dans le dossier MSSQL\Binn de l’instance de SQL Server. Le chemin complet est généralement C:\Program Files\Microsoft SQL Server\<instance>\MSSQL\Binn.

Pour plus d’informations sur les séparateurs de mots et les racinisateurs, consultez Configurer et gérer les séparateurs de mots et les racinisateurs.

Passer de l’analyseur de mots anglais actuel aux analyseurs de mots anglais précédents

Cet exemple utilise MSSQL17.MSSQLSERVER pour la valeur <InstanceRoot>, qui est l’instance par défaut de SQL Server 2025 (17.x). Ajustez cette valeur pour qu’elle corresponde à votre environnement.

Les commandes suivantes ajoutent ou mettent à jour des clés dans le Registre Windows afin de définir les ClassID COM des anciennes interfaces de séparation des mots et de racinisation pour l'anglais américain correspondant au LCID 1033 (enu).

Exécutez ces commandes à partir d’une invite de commandes avec élévation de privilèges :

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

Redémarrez SQL Server pour appliquer ces paramètres d’analyse des mots.

Revenir du séparateur de mots anglais précédent au séparateur de mots anglais actuel

Cet exemple utilise MSSQL17.MSSQLSERVER pour la valeur <InstanceRoot>, qui est l’instance par défaut de SQL Server 2025 (17.x). Ajustez cette valeur pour qu’elle corresponde à votre environnement.

Les commandes suivantes ajoutent ou mettent à jour des clés dans le registre Windows pour réinitialiser les ID de classe COM depuis l'anglais américain au LCID 1033 (enu).

Exécutez ces commandes à partir d’une invite de commandes avec élévation de privilèges :

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

Redémarrez SQL Server pour appliquer ces paramètres d’analyse des mots.