Full-Text Search Upgrade Options
Applies To: SQL Server 2016
Use the Full-Text Search Upgrade Options page of the SQL Server Installation Wizard to select the full-text search upgrade option to use for the databases that you are upgrading at this time.
In SQL Server 2005 each full-text index resides in a full-text catalog that belongs to a filegroup, has a physical path, and is treated as a database file. Now, a full-text catalog is a logical concept—a virtual object—that refers to a group of full-text indexes. Therefore, a new full-text catalog is not treated as a database file with a physical path. However, during upgrade of any full-text catalog that contains data files, a new filegroup is created on same disk. This maintains the old disk I/O behavior after upgrade. Any full-text index from that catalog is placed in the new filegroup if the root path exists. If the old full-text catalog path is invalid, the upgrade keeps the full-text index in the same filegroup as base table or, for a partitioned table, in the primary filegroup.
When you upgrade to SQL Server 2016, choose one of the following full-text upgrade options.
Full-text catalogs are imported. Typically, import is significantly faster than rebuild. For example, when using only one CPU, import runs about 10 times faster than rebuild. However, a full-text catalog imported from SQL Server 2005 does not use the new and enhanced word breakers, so you might want to rebuild your full-text catalogs eventually.
If a full-text catalog is not available, the associated full-text indexes are rebuilt. This option is available for only SQL Server 2005 databases.
For information about the impact of importing full-text index, see "Considerations for Choosing a Full-Text Upgrade Option," later in this topic.
Full-text catalogs are rebuilt using the new and enhanced word breakers. Rebuilding indexes can take a lot of time, and a significant amount of CPU and memory might be required after the upgrade.
Full-text catalogs are reset. When upgrading from SQL Server 2005, full-text catalog files are removed, but the metadata for full-text catalogs and full-text indexes is retained. After being upgraded, all full-text indexes are disabled for change tracking and crawls are not started automatically. The catalog will remain empty until you manually issue a full population, after the upgrade completes.
All of these upgrade options ensure that upgraded databases benefit fully from full-text performance enhancements.
When choosing the upgrade option for your upgrade, consider the following:
How do you use word breakers?
The full-text search service in SQL Server 2016 includes word breakers and stemmers. These might change the results of full-text queries from SQL Server 2005 for a specific text pattern or scenario. Therefore, how you use word breakers is important when choosing a suitable upgrade option:
If the word breakers of the full-text language you use did not change, or if recall accuracy is not critical to you, importing is suitable. Later, if you experience any recall issues, you can upgrade to the new word breakers simply by rebuilding your full-text catalogs.
If you care about recall accuracy and you use one of the word breakers that were added after SQL Server 2005, rebuilding is suitable.
Were any full-text indexes built on integer full-text key columns?
Rebuilding performs internal optimizations that improve the query performance of the upgraded full-text index in some cases. Specifically, if you have full-text catalogs that contain full-text indexes for which the full-text key column of the base table is an integer data type, rebuilding achieves ideal performance of full-text queries after upgrade. In this case, we highly recommend you to use the Rebuild option.
For full-text indexes in SQL Server 2016, we recommend that the column serving as the full-text key be an integer data type. For more information, see Improve the Performance of Full-Text Indexes.
What is the priority for getting your server instance online?
Importing or rebuilding during upgrade takes a lot of CPU resources, which delays getting the rest of the server instance upgraded and online. If getting the server instance online as soon as possible is important and if you are willing to run a manual population after the upgrade, Reset is suitable.