Troubleshooting Guide: Error 7659 – Full-Text Search Activation Failure in SQL Server 2025
Why This Error Happens
Error 7659 occurs when you attempt to enable full-text search on a table or indexed view before any columns have actually been added to the full-text index definition. SQL Server requires at least one column to be explicitly registered with the CREATE FULLTEXT INDEX or ALTER FULLTEXT INDEX ... ADD statement before the index can be activated via ENABLE. This typically happens when a script runs the ENABLE command immediately after creating an empty full-text index container, skipping the column-addition step.
Step-by-Step Resolution Guide
Step 1: Verify the Current Full-Text Index Definition
- Open SQL Server Management Studio (SSMS) and connect to your SQL Server 2025 instance.
- Run the following query to inspect existing full-text columns:
SELECT * FROM sys.fulltext_index_columns
WHERE object_id = OBJECT_ID('YourSchema.YourTable');
- If this query returns zero rows, it confirms no columns are currently enabled, validating the root cause.
Step 2: Add the Required Columns to the Full-Text Index
- Use
ALTER FULLTEXT INDEXto add at least one column before enabling the index. - Example command:
ALTER FULLTEXT INDEX ON YourSchema.YourTable
ADD (YourColumnName LANGUAGE 1033);
- Ensure the column data type is supported (e.g.,
nvarchar,varchar,xml, orvarbinarywith a type column specified).
Step 3: Activate the Full-Text Index
- Once columns are successfully added, run the enable command:
ALTER FULLTEXT INDEX ON YourSchema.YourTable ENABLE;
- If the table has no unique single-column index yet, create one first, as full-text indexing requires a unique key index to track rows.
Step 4: Rebuild and Start Population
- Force a full population to ensure the index catalog is populated with data from the newly added columns.
ALTER FULLTEXT INDEX ON YourSchema.YourTable START FULL POPULATION;
- Monitor the population status via
sys.dm_fts_index_population.
Alternative or Verification Steps
- Verify: Query
sys.fulltext_indexesand check that theis_enabledcolumn returns1, confirming the index is now active and correctly populated. - Alternative: If the error persists, drop the full-text index entirely using
DROP FULLTEXT INDEX ON YourSchema.YourTableand recreate it from scratch usingCREATE FULLTEXT INDEX ON ... KEY INDEX ... WITH (CHANGE_TRACKING = AUTO), ensuring you specify the target columns directly in the creation statement rather than adding them afterward.