Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Applies to:
SQL Server
Azure SQL Database
Azure SQL Managed Instance
After you install or uninstall word breakers or filters on a system, the changes don't automatically take effect on server instances. This article describes how to view the currently registered word breakers or filters and how to register newly installed word breakers and filters on an instance of SQL Server.
Note
Azure SQL Managed Instance supports viewing registered filters and word breakers, but changing them isn't supported. You can only use preinstalled ones. Third party filters and word breakers aren't supported on Azure SQL Managed Instance.
View a list of languages whose word breakers are currently registered
Use the sys.fulltext_languages catalog view, as follows:
SELECT *
FROM sys.fulltext_languages;
View a list of the filters that are currently registered
Use the sp_help_fulltext_system_components system stored procedure, as follows:
EXECUTE sp_help_fulltext_system_components 'filter';
Register newly installed word breakers and filters
Use the sp_fulltext_service system stored procedure to update the list of languages, as follows:
EXECUTE sp_fulltext_service 'update_languages';
Unregister uninstalled word breakers and filters
Use the
sp_fulltext_serviceto update the list of languages, as follows:EXECUTE sp_fulltext_service 'update_languages';Use the
sp_fulltext_serviceto restart the filter daemon host processes (fdhost.exe), as follows:EXECUTE sp_fulltext_service 'restart_all_fdhosts';
Add or replace word breakers and filters
Applies to: SQL Server 2025 (17.x) and later versions.
The default full-text index version in SQL Server 2025 (17.x) and later versions is version 2. The default DLL files for version 2 are located in the
C:\Program Files\Microsoft SQL Server\MSSQL17.<instance-name>\MSSQL\Binn\Ftcomponents\[Filters|wordbreakers]directory.To override default or add new component, create a
version_overrides.jsonfile inside theC:\Program Files\Microsoft SQL Server\MSSQL17.<instance-name>\MSSQL\FTDatadirectory.To add or replace the word breaker, update the
languagessection in the JSON file. For filters, update thedoctypessection.Sample JSON structure:
{ "languages": { "en": [{ "version": 2, "handler": "MSWB7.dll", "wbClsid": "9faed859-0b30-4434-ae65-412e14a16fb8" "stemmerClsid": "e1e5ef84-c4a6-4e50-8188-99aef3de2659" }], "<BCP 47 locale name>": [{ ... }], } "doctypes": { ".html": [{ "version": 2, "handler": "nlhtml.dll", "clsid": "e0ca5340-4534-11cf-b952-00aa0051fe20" }], ".<extension 2>": [{ ... }], } }Consider the following rules for the
version_overrides.jsonfile:All fields in the JSON file are mandatory except
stemmerClsid(optional).Locale name can be any BCP 47 locale name, following standard locale names.
When duplicate entries exist for same language and version, or extension and version, the most recent entry takes precedence.
Handler DLL can be a relative path to the file in relation to the
C:\Program Files\Microsoft SQL Server\MSSQL17.<instance-name>\MSSQL\Binn\Ftcomponents\[Filters|wordbreakers]directory where default binaries are located. It can also be an absolute path. For example, to override filter with a system binary, handler can be specified as follows:"handler": "%SystemRoot%\\system32\\windows.data.pdf.dll"Important
You should load only signed and verified components. Configure the correct access control lists (ACLs) on DLL files and folders containing them. Also, you should run the FDHOST Launcher (MSSQLFDLauncher) Service with the least possible privileges.
Use
sp_fulltext_serviceto update the list of languages, as follows:EXECUTE sp_fulltext_service 'update_languages';Restart the filter daemon host processes (
fdhost.exe), usingsp_fulltext_serviceas follows:EXECUTE sp_fulltext_service 'restart_all_fdhosts';
Replace existing word breakers or filters when installing new ones
Applies to: SQL Server 2022 (16.x) and earlier versions.
Before you install a DLL file that contains new word breakers or filters, make sure that it has a different filename from any of the existing DLL files installed on your server instance.
Copy the new DLL file into the directory containing the standard SQL Server DLL files for the server instance. The default location is:
C:\Program Files\Microsoft SQL Server\MSSQL.<instance_name>\MSSQL\BinnInstall the new word breaker or filters.
To install and load Microsoft Filter Pack IFilters
Use
sp_fulltext_serviceto load newly installed word breakers and filters in the server instance, as follows:EXECUTE sp_fulltext_service @action = 'load_os_resources', @value = 1;Use
sp_fulltext_serviceto update the list of languages, as follows:EXECUTE sp_fulltext_service 'update_languages';Restart the filter daemon host processes (
fdhost.exe), usingsp_fulltext_serviceas follows:EXECUTE sp_fulltext_service 'restart_all_fdhosts';