Why This Error Happens
Error 13008 is triggered by the SQL Server Full-Text Search (FTS) engine when the Filter Daemon Host process (MSSQLFDLauncher) cannot access, read, or write to the full-text catalog files on disk. This is most commonly caused by the SQL Server service account lacking NTFS permissions on the catalog directory, a corrupted full-text catalog after an unexpected shutdown, or the catalog folder being locked by antivirus/backup software mid-crawl. When this breakdown occurs, client applications attempting to query full-text indexed columns stall indefinitely, which is why users visually observe the “Getting Data” state never resolving.
Step-by-Step Resolution Guide
Step 1: Verify the Full-Text Filter Daemon Service Status
- Open Services.msc on Windows Server 2025 / Windows 11 and confirm SQL Full-text Filter Daemon Launcher (MSSQLFDLauncher) is running.
- If stopped, start it manually and check the SQL Server Error Log for recurring 13008 entries immediately after startup.
- Run
EXEC sp_fulltext_service 'load_os_resources', 1;in SSMS to reload required OS resources.
Step 2: Correct File System Permissions on the Catalog Path
- Navigate to the default full-text catalog directory, typically:
C:\Program Files\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSQL\FTData - Right-click the folder → Properties → Security, and grant Full Control to the SQL Server service account (e.g.,
NT Service\MSSQLSERVER). - Apply permissions recursively and restart the SQL Server (MSSQLSERVER) service to force the daemon to re-register catalog handles.
Step 3: Rebuild the Corrupted Full-Text Catalog
- In SSMS, run:
ALTER FULLTEXT CATALOG [YourCatalogName] REBUILD;
ALTER FULLTEXT INDEX ON [YourSchema].[YourTable] START FULL POPULATION;
- Monitor progress via
SELECT * FROM sys.dm_fts_index_population;until thestatuscolumn returns0(idle/complete).
Step 4: Exclude SQL Directories from Antivirus/Backup Scanning
- Add exclusions in Windows Defender (or third-party AV) for the
MSSQL\DATA,MSSQL\FTData, andMSSQL\Logfolders. - This prevents file locks that interrupt the crawl process and retrigger Error 13008 during population.
Alternative or Verification Steps
- Confirm resolution by running a sample
CONTAINS()orFREETEXT()query against the previously affected table — it should return results within normal latency instead of hanging on “Getting Data.” - If the error persists, drop and recreate the full-text index entirely (
DROP FULLTEXT INDEXfollowed byCREATE FULLTEXT INDEX) as a last-resort fix for deep catalog corruption.