Actualizar la búsqueda de texto completoUpgrade Full-Text Search

SE APLICA A: síSQL Server síAzure SQL Database noAzure SQL Data Warehouse noAlmacenamiento de datos paralelos APPLIES TO: yesSQL Server yesAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

La actualización de la búsqueda de texto completo a SQL Server 2017SQL Server 2017 se realiza durante la instalación y al adjuntar, restaurar o copiar archivos de base de datos y catálogos de texto completo de la versión anterior de SQL ServerSQL Server mediante el Asistente para copiar bases de datos.Upgrading full-text search to SQL Server 2017SQL Server 2017 is done during setup and when database files and full-text catalogs from the earlier version of SQL ServerSQL Server are attached, restored, or copied using the Copy Database Wizard.

Actualizar una instancia de servidorUpgrade a server instance

Si se trata de una actualización en contexto, se instalan en paralelo una instancia de SQL Server 2017SQL Server 2017 y la versión anterior de SQL ServerSQL Server, y se migran los datos.For an in-place upgrade, an instance of SQL Server 2017SQL Server 2017 is set up side-by-side with the old version of SQL ServerSQL Server, and data is migrated. Si la versión anterior de SQL ServerSQL Server tenía instalada la función de búsqueda de texto completo, automáticamente se instala una nueva versión de dicha función.If the old version of SQL ServerSQL Server had full-text search installed, a new version of full-text search is automatically installed. Para poder realizar la instalación en paralelo, es necesaria la presencia de los componentes siguientes en cada instancia de SQL ServerSQL Server.Side-by-side install means that each of the following components exists at the instance-level of SQL ServerSQL Server.

Separadores de palabras, lematizadores y filtrosWord breakers, stemmers, and filters
Ahora, cada instancia usa su propio conjunto de separadores de palabras, lematizadores y filtros en lugar de depender de la versión de estos componentes existente en el sistema operativo.Each instance now uses its own set of word breakers, stemmers, and filters, rather than relying on the operating system version of these components. También es más fácil registrar y configurar estos componentes en cada una de las instancias.These components are also easier to register and configure at a per-instance level. Para obtener más información, vea Configurar y administrar separadores de palabras y lematizadores para la búsqueda y Configurar y administrar filtros para búsquedas.For more information, see Configure and Manage Word Breakers and Stemmers for Search and Configure and Manage Filters for Search.

Host de demonio de filtroFilter daemon host
Los hosts de demonio de filtro de texto completo son procesos que cargan y controlan de forma segura los componentes extensibles externos que se usan en los índices y en las consultas, como por ejemplo, los separadores de palabras, los lematizadores y los filtros, sin poner en peligro la integridad del motor de búsqueda de texto completo.The full-text filter daemon hosts are processes that safely load and drive extensible external components used for index and query, such as word breakers, stemmers, and filters, without compromising the integrity of the Full-Text Engine. Una instancia del servidor utiliza un proceso multiproceso para todos los filtros multiproceso y un proceso de un solo subproceso para todos los filtros de un solo subproceso.A server instance uses a multithreaded process for all multithreaded filters and a single-threaded process for all single-threaded filters.

Nota

SQL Server 2008SQL Server 2008 introdujo una cuenta de servicio para el servicio del iniciador del FDHOST (MSSQLFDLauncher).introduced a service account for the FDHOST Launcher service (MSSQLFDLauncher). Este servicio propaga la información de la cuenta de servicio a los procesos del host de demonio de filtro de una instancia concreta de SQL ServerSQL Server.This service propagates the service account information to the filter daemon host processes of a specific instance of SQL ServerSQL Server. Para obtener más información sobre cómo configurar la cuenta de servicio, vea Establecer la cuenta del servicio para el selector del demonio de filtro completo.For information about setting the service account, see Set the Service Account for the Full-text Filter Daemon Launcher.

En SQL Server 2005 (9.x)SQL Server 2005 (9.x), cada índice de texto completo reside en un catálogo de texto completo que pertenece a un grupo de archivos, tiene una ruta de acceso física y es tratado como un archivo de base de datos.In SQL Server 2005 (9.x)SQL Server 2005 (9.x), 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. En SQL Server 2008SQL Server 2008 y versiones posteriores, un catálogo de texto completo es un concepto lógico o virtual que contiene un grupo de índices de texto completo.In SQL Server 2008SQL Server 2008 and later versions, a full-text catalog is a logical or virtual object that contains a group of full-text indexes. Por consiguiente, no se trata a cada nuevo catálogo de texto completo como un archivo de base de datos con una ruta de acceso física.Therefore, a new full-text catalog is not treated as a database file with a physical path. Sin embargo, durante la actualización de cualquier catálogo de texto completo que contiene archivos de datos, se crea un nuevo grupo de archivos en el mismo disco.However, during upgrade of any full-text catalog that contains data files, a new filegroup is created on same disk. Esto conserva el comportamiento de E/S del disco antiguo después de la actualización.This maintains the old disk I/O behavior after upgrade. Si la ruta de acceso raíz existe, todos los índices de texto completo del catálogo se situarán en el nuevo grupo de archivos.Any full-text index from that catalog is placed in the new filegroup if the root path exists. Si la ruta de acceso al catálogo de texto completo anterior no es válida, la actualización mantiene el índice de texto completo en el mismo grupo de archivos que la tabla base o, si se trata de una tabla con particiones, en el grupo de archivos principal.If the old full-text catalog path is invalid, the upgrade keeps the full-text index in the same filegroup as the base table or, for a partitioned table, in the primary filegroup.

Opciones de actualización de texto completoFull-text upgrade options

Durante la actualización de una instancia de servidor a SQL Server 2017SQL Server 2017, la interfaz de usuario le permite elegir una de las opciones de actualización de texto completo siguientes.When upgrading a server instance to SQL Server 2017SQL Server 2017, the user interface allows you to choose one of the following full-text upgrade options.

ImportarImport
Se importan los catálogos de texto completo.Full-text catalogs are imported. Normalmente, el proceso de importación es significativamente más rápido que el de regeneración.Typically, import is significantly faster than rebuild. Por ejemplo, si se usa solo una CPU, importar es aproximadamente 10 veces más rápido que volver a generar.For example, when using only one CPU, import runs about 10 times faster than rebuild. Sin embargo, un catálogo de texto completo importado no usa los divisores de palabras nuevos instalados con la última versión de SQL ServerSQL Server.However, an imported full-text catalog does not use the new word breakers installed with the latest version of SQL ServerSQL Server. Para garantizar la coherencia de los resultados de consulta, los catálogos de texto completo se tienen que recompilar.To ensure consistency in query results, full-text catalogs have to be rebuilt.

Nota

La recompilación se puede ejecutar en modo de varios subprocesos; además, si hay más de 10 CPU disponibles y permite que el proceso de recompilación las use todas, dicho proceso puede resultar más rápido que el de importación.Rebuild can run in multi-threaded mode, and if more than 10 CPUs are available, rebuild might run faster than import if you allow rebuild to use all of the CPUs.

Si un catálogo de texto completo no está disponible, se vuelven a generar los índices de texto completo asociados.If a full-text catalog is not available, the associated full-text indexes are rebuilt. Esta opción solo está disponible para bases de datos de SQL Server 2005 (9.x)SQL Server 2005 (9.x) .This option is available for only SQL Server 2005 (9.x)SQL Server 2005 (9.x) databases.

Para obtener información sobre el impacto de importar un índice de texto completo, vea "Consideraciones sobre la elección de una opción de actualización de texto completo" más adelante en este tema.For information about the impact of importing full-text index, see "Considerations for Choosing a Full-Text Upgrade Option," later in this topic.

Volver a generarRebuild
Los catálogos de texto completo se vuelven a generar con los separadores de palabras nuevos y mejorados.Full-text catalogs are rebuilt using the new and enhanced word breakers. El proceso de recompilación de los índices puede llevar cierto tiempo y podría ser necesaria una cantidad significativa de CPU y de memoria después de la actualización.Rebuilding indexes can take a while, and a significant amount of CPU and memory might be required after the upgrade.

RestablecerReset
Los catálogos de texto completo se restablecen.Full-text catalogs are reset. Cuando se actualizan desde SQL Server 2005 (9.x)SQL Server 2005 (9.x), los catálogos de texto completo se quitan, pero los metadatos de los catálogos de texto completo y los índices de texto completo se conservan.When upgrading from SQL Server 2005 (9.x)SQL Server 2005 (9.x), full-text catalog files are removed, but the metadata for full-text catalogs and full-text indexes is retained. Después de actualizarse, todos los índices de texto completo quedan deshabilitados para el seguimiento de cambios y los rastreos no se inician de forma automática.After being upgraded, all full-text indexes are disabled for change tracking and crawls are not started automatically. El catálogo permanecerá vacío hasta que se emita manualmente un rellenado completo después de que se complete la actualización.The catalog will remain empty until you manually issue a full population, after the upgrade completes.

Consideraciones sobre la elección de una opción de actualización de texto completoConsiderations for choosing a full-text upgrade option

Cuando elija la opción de actualización, tenga en cuenta lo siguiente:When choosing the upgrade option for your upgrade, consider the following:

  • ¿Necesita coherencia en los resultados de consulta?Do you require consistency in query results?

    SQL Server 2017SQL Server 2017 instala nuevos separadores de palabras para ser usados en la búsqueda de texto completo y la búsqueda semántica.installs new word breakers for use by Full-Text and Semantic Search. Los separadores de palabras se usan en el momento de la indización y en el momento de la consulta.The word breakers are used both at indexing time and at query time. Si no recompila los catálogos de texto completo, los resultados de la búsqueda pueden ser incoherentes.If you do not rebuild the full-text catalogs, your search results may be inconsistent. Si emite una consulta de texto completo que busca una frase que el separador de palabras de una versión anterior de SQL ServerSQL Server separó de forma diferente que el separador de palabras actual, es posible que no se recupere un documento o una fila que contengan la frase.If you issue a full-text query that looks for a phrase that is broken differently by the word breaker in a previous version of SQL ServerSQL Server and the current word breaker, a document or row containing the phrase might not be retrieved. Esto se debe a que las frases indizadas se separaron mediante una lógica diferente de la que está usando la consulta.This is because the indexed phrases were broken using different logic than the query is using. La solución es volver a rellenar (volver a generar) los catálogos de texto completo con los nuevos separadores de palabras de modo que los comportamientos en el momento de la indización y en el momento de la consulta sean idénticos.The solution is to repopulate (rebuild) the full-text catalogs with the new word breakers so that index time and query time behavior are identical. Puede elegir la opción Recompilar para realizar esta acción, o puede recompilar manualmente después de elegir la opción Importar.You can choose the Rebuild option to accomplish this, or you can rebuild manually after choosing the Import option.

  • ¿Se han generado índices de texto completo en columnas de clave de texto completo cuyo tipo de datos es Integer?Were any full-text indexes built on integer full-text key columns?

    La regeneración realiza optimizaciones internas que, en algunos casos, mejoran el rendimiento de las consultas del índice de texto completo actualizado.Rebuilding performs internal optimizations that improve the query performance of the upgraded full-text index in some cases. En concreto, si tiene catálogos de texto completo que contienen índices de texto completo para los que la columna de clave de texto completo de la tabla base es un tipo de datos Integer, al volver a generarlos, se logra un rendimiento ideal de las consultas de texto completo después de la actualización.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. En este caso, es muy recomendable el uso de la opción Volver a generar .In this case, we highly recommend you to use the Rebuild option.

    Nota

    Para los índices de texto completo de SQL Server 2017SQL Server 2017, se recomienda que el tipo de datos de la columna que actúa como clave de texto completo sea Integer.For full-text indexes in SQL Server 2017SQL Server 2017, we recommend that the column serving as the full-text key be an integer data type. Para obtener más información, vea Mejorar el rendimiento de los índices de texto completo.For more information, see Improve the Performance of Full-Text Indexes.

  • ¿Cuál es la prioridad para poner en línea la instancia del servidor?What is the priority for getting your server instance online?

    El proceso de importación o regeneración durante la actualización consume muchos recursos de la CPU, lo que retrasa la actualización y puesta en línea del resto de la instancia del servidor.Importing or rebuilding during upgrade takes a lot of CPU resources, which delays getting the rest of the server instance upgraded and online. Si es importante poner en línea lo antes posible la instancia del servidor y desea ejecutar manualmente el rellenado después de la actualización, la opción Restablecer resulta adecuada.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.

Garantizar resultados de consulta coherentes después de importar un índice de texto completoEnsure consistent query results after importing a full-text index

Si un catálogo de texto completo se ha importado al actualizar una base de datos de SQL Server 2005 (9.x)SQL Server 2005 (9.x) a SQL Server 2017SQL Server 2017, podrían producirse discrepancias entre la consulta y el contenido del índice de texto completo debido a las diferencias de comportamiento entre los nuevos separadores de palabras y los anteriores.If a full-text catalog was imported when upgrading a SQL Server 2005 (9.x)SQL Server 2005 (9.x) database to SQL Server 2017SQL Server 2017, mismatches between the query and the full-text index content might occur because of differences in the behavior of the old and new word breakers. En este caso, para garantizar una coincidencia total entre las consultas y el contenido del índice de texto completo, elija una de las opciones siguientes:In this case, to guarantee a total match between queries and the full-text index content, choose one of the following options:

  • Recompile el catálogo de texto completo que contiene el índice de texto completo (ALTER FULLTEXT CATALOGcatalog_name REBUILD)Rebuild the full-text catalog that contains the full-text index (ALTER FULLTEXT CATALOGcatalog_name REBUILD)

  • Emita un rellenado completo en el índice de texto completo (ALTER FULLTEXT INDEX ON table_name START FULL POPULATION).Issue a FULL POPULATION on the full-text index (ALTER FULLTEXT INDEX ON table_name START FULL POPULATION).

Para obtener más información sobre los separadores de palabras, vea Configurar y administrar separadores de palabras y lematizadores para la búsqueda.For more information about word breakers, see Configure and Manage Word Breakers and Stemmers for Search.

Actualizar archivos de palabras irrelevantes a listas de palabras irrelevantesUpgrade noise-word files to stoplists

Cuando una base de datos se actualiza a SQL Server 2017SQL Server 2017 a partir de SQL Server 2005 (9.x)SQL Server 2005 (9.x), los archivos de palabras irrelevantes de esa versión dejan de usarse.When a database is upgraded to SQL Server 2017SQL Server 2017 from SQL Server 2005 (9.x)SQL Server 2005 (9.x), the noise-word files are no longer used. Sin embargo, los archivos de palabras irrelevantes antiguos se almacenan en la carpeta FTDATA\FTNoiseThesaurusBak para que los pueda usar posteriormente cuando actualice o genere las correspondientes listas de palabras irrelevantes de SQL Server 2017SQL Server 2017 .However, the old noise-word files are stored in the FTDATA\ FTNoiseThesaurusBak folder, and you can use them later when updating or building the corresponding SQL Server 2017SQL Server 2017 stoplists.

Después de la actualización a partir de SQL Server 2005 (9.x)SQL Server 2005 (9.x):After upgrading from SQL Server 2005 (9.x)SQL Server 2005 (9.x):

  • Si nunca agregó, modificó ni eliminó archivos de palabras irrelevantes de la instalación de SQL Server 2005 (9.x)SQL Server 2005 (9.x), la lista de palabras irrelevantes del sistema será suficiente para cubrir sus necesidades.If you never added, modified, or deleted any noise-word files in your installation of SQL Server 2005 (9.x)SQL Server 2005 (9.x), the system stoplist should meet your needs.

  • Si modificó los archivos de palabras irrelevantes en SQL Server 2005 (9.x)SQL Server 2005 (9.x), las modificaciones se perderán durante la actualización.If your noise-word files were modified in SQL Server 2005 (9.x)SQL Server 2005 (9.x), those modifications are lost during upgrade. Para volver a crear las modificaciones, debe hacerlo de forma manual en la lista de palabras irrelevantes de SQL Server 2008SQL Server 2008 correspondiente.To re-create those updates, you must manually recreate those modifications in the corresponding SQL Server 2008SQL Server 2008 stoplist. Para obtener más información, vea ALTER FULLTEXT STOPLIST (Transact-SQL).For more information, see ALTER FULLTEXT STOPLIST (Transact-SQL).

  • Si no desea aplicar palabras irrelevantes a sus índices de texto completo (por ejemplo, si eliminó o borró los archivos de palabras irrelevantes de la instalación de SQL Server 2005 (9.x)SQL Server 2005 (9.x)), debe desactivar la lista de palabras irrelevantes para todos los índices de texto completo actualizados.If you do not want to apply any stopwords to your full-text indexes (for example, if you deleted or erased your noise-word files in your SQL Server 2005 (9.x)SQL Server 2005 (9.x) installation), you must turn off the stoplist for each upgraded full-text index. Ejecute la siguiente instrucción Transact-SQLTransact-SQL (reemplace database por el nombre de la base de datos actualizada y table por el nombre de la tabla):Run the following Transact-SQLTransact-SQL statement (replacing database with the name of the upgraded database and table with the name of the table):

    Use database;   
    ALTER FULLTEXT INDEX ON table  
       SET STOPLIST OFF;  
    GO  
    

    La cláusula STOPLIST OFF quita el filtrado de palabras irrelevantes y desencadena un rellenado de la tabla sin filtrar las palabras consideradas como irrelevantes.The STOPLIST OFF clause removes stop-word filtering, and it will trigger a population of the table, without filtering any words considered to be noise.

Copia de seguridad y catálogos de texto completo importadosBackup and imported full-text catalogs

En los catálogos de texto completo que se vuelven a generar o que se restablecen durante la actualización (y para los nuevos catálogos de texto completo), el catálogo de texto completo es un concepto lógico y no reside en ningún grupo de archivos.For full-text catalogs that are rebuilt or reset during upgrade (and for new full-text catalogs), the fulltext catalog is a logical concept and does not reside in a filegroup. Por consiguiente, para hacer una copia de seguridad de un catálogo de texto completo en SQL Server 2017SQL Server 2017, debe identificar cada grupo de archivos que contenga un índice de texto completo del catálogo y hacer una copia de seguridad de cada uno de ellos, uno por uno.Therefore, to back up a full-text catalog in SQL Server 2017SQL Server 2017, you must identify every filegroup that contains a full-text index of the catalog and back each of them up, one by one. Para obtener más información, vea Realizar copias de seguridad de los catálogos de texto completo y restaurarlos.For more information, see Back Up and Restore Full-Text Catalogs and Indexes.

Para los catálogos de texto completo importados de SQL Server 2005 (9.x)SQL Server 2005 (9.x), el catálogo de texto completo sigue siendo un archivo de base de datos en su propio grupo de archivos.For full-text catalogs that have been imported from SQL Server 2005 (9.x)SQL Server 2005 (9.x), the full-text catalog is still a database file in its own filegroup. Se sigue aplicando el proceso de copia de seguridad de SQL Server 2005 (9.x)SQL Server 2005 (9.x) para los catálogos de texto completo, con la salvedad de que el servicio MSFTESQL no existe en SQL Server 2017SQL Server 2017.The SQL Server 2005 (9.x)SQL Server 2005 (9.x) backup process for full-text catalogs still applies except that the MSFTESQL service does not exist in SQL Server 2017SQL Server 2017. Para obtener información sobre el proceso de SQL Server 2005 (9.x)SQL Server 2005 (9.x) , vea Backing Up and Restoring Full-Text Catalogs (Copia de seguridad y restauración de catálogos de texto completo) en los Libros en pantalla de SQL Server 2005.For information about the SQL Server 2005 (9.x)SQL Server 2005 (9.x) process, see Backing Up and Restoring Full-Text Catalogs in SQL Server 2005 Books Online.

Migrar índices de texto completo al actualizar una base de datos a SQL Server 2017SQL Server 2017Migrating full-text indexes when upgrading a database to SQL Server 2017SQL Server 2017

Los archivos de base de datos y los catálogos de texto completo de una versión anterior de SQL ServerSQL Server se pueden actualizar a una instancia del servidor de SQL Server 2017SQL Server 2017 existente mediante operaciones de anexión o restauración, o con el Asistente para copiar bases de datos.Database files and full-text catalogs from a previous version of SQL ServerSQL Server can be upgraded to an existing SQL Server 2017SQL Server 2017 server instance by using attach, restore, or the Copy Database Wizard. SQL Server 2005 (9.x)SQL Server 2005 (9.x) los índices de texto completo, si los hubiera, se importan, se restablecen o se vuelven a compilar.full-text indexes, if any, are either imported, reset, or rebuilt. La propiedad de servidor upgrade_option controla cuál de las opciones de actualización de texto completo usa la instancia del servidor durante estas actualizaciones de bases de datos.The upgrade_option server property controls which full-text upgrade option the server instance uses during these database upgrades.

Después de adjuntar, restaurar o copiar una base de datos de SQL Server 2005 (9.x)SQL Server 2005 (9.x) a SQL Server 2017SQL Server 2017, queda disponible inmediatamente y se actualiza a continuación de forma automática.After you attach, restore, or copy any SQL Server 2005 (9.x)SQL Server 2005 (9.x) database to SQL Server 2017SQL Server 2017, the database becomes available immediately and is then automatically upgraded. Dependiendo de la cantidad de datos que se indicen, la importación puede requerir varias horas y volver a generar puede requerir hasta diez veces más.Depending the amount of data being indexed, importing can take several hours, and rebuilding can take up to ten times longer. Tenga en cuenta también que si la opción de actualización se establece en importar y no hay disponible ningún catálogo de texto completo, se vuelven a generar los índices de texto completo asociados.Note also that when the upgrade option is set to import, if a full-text catalog is not available, the associated full-text indexes are rebuilt.

Para cambiar el comportamiento de la actualización de texto completo en una instancia del servidorTo change full-text upgrade behavior on a server instance

Consideraciones sobre la restauración de un catálogo de texto completo de SQL Server 2005 (9.x)SQL Server 2005 (9.x) a SQL Server 2017SQL Server 2017Considerations for Restoring a SQL Server 2005 (9.x)SQL Server 2005 (9.x) Full-Text Catalog to SQL Server 2017SQL Server 2017

Una forma de actualizar los datos de texto completo de una base de datos de SQL Server 2005 (9.x)SQL Server 2005 (9.x) a SQL Server 2017SQL Server 2017 consiste en restaurar una copia de seguridad completa de la base de datos en SQL Server 2017SQL Server 2017.One method of upgrading fulltext data from a SQL Server 2005 (9.x)SQL Server 2005 (9.x) database to SQL Server 2017SQL Server 2017 is to restore a full database backup to SQL Server 2017SQL Server 2017.

Al importar un catálogo de texto completo de SQL Server 2005 (9.x)SQL Server 2005 (9.x) , puede hacer una copia de seguridad y restaurar la base de datos y el archivo de catálogo.While importing a SQL Server 2005 (9.x)SQL Server 2005 (9.x) full-text catalog, you can back up and restore the database and the catalog file. El comportamiento es el mismo que en SQL Server 2005 (9.x)SQL Server 2005 (9.x).The behavior is the same as in SQL Server 2005 (9.x)SQL Server 2005 (9.x):

  • La copia de seguridad completa de la base de datos incluirá el catálogo de texto completo.The full database backup will include the full-text catalog. Para hacer referencia al catálogo de texto completo, use su nombre de archivo de SQL Server 2005 (9.x)SQL Server 2005 (9.x) , sysft_+catalog-name.To refer to the full-text catalog, use its SQL Server 2005 (9.x)SQL Server 2005 (9.x) file name, sysft_+catalog-name.

  • Si el catálogo de texto completo está sin conexión, se producirá un error en la copia de seguridad.If the full-text catalog is offline, the backup will fail.

Para obtener más información sobre las copias de seguridad y la restauración de catálogos de texto completo de SQL Server 2005 (9.x)SQL Server 2005 (9.x) , vea Backing Up and Restoring Full-Text Catalogs (Copia de seguridad y restauración de catálogos de texto completo) y File Backup and Restore and Full-Text Catalogs (Copia de seguridad y restauración de archivos y catálogos de texto completo)en los Libros en pantalla de SQL Server 2005 (9.x)SQL Server 2005 (9.x) .For more information about backing up and restoring SQL Server 2005 (9.x)SQL Server 2005 (9.x) full-text catalogs, see Backing Up and Restoring Full-Text Catalogs and File Backup and Restore and Full-Text Catalogsin SQL Server 2005 (9.x)SQL Server 2005 (9.x) Books Online.

Cuando la base de datos se restaura en SQL Server 2017SQL Server 2017, se crea un nuevo archivo de base de datos para el catálogo de texto completo.When the database is restored on SQL Server 2017SQL Server 2017, a new database file will be created for the full-text catalog. El nombre predeterminado de este archivo es ftrow_catalog-name.ndf.The default name of this file is ftrow_catalog-name.ndf. Por ejemplo, si catalog-name es cat1, el nombre predeterminado del archivo de base de datos de SQL Server 2017SQL Server 2017 será ftrow_cat1.ndf.For example, if you catalog-name is cat1, the default name of the SQL Server 2017SQL Server 2017 database file would be ftrow_cat1.ndf. Pero si el nombre predeterminado ya se usa en el directorio de destino, el nuevo archivo de base de datos se denominará ftrow_catalog-name{GUID}.ndf, donde GUID es el identificador único global del nuevo archivo.But if the default name is already being used in the target directory, the new database file would be named ftrow_catalog-name{GUID}.ndf, where GUID is the Globally Unique Identifier of the new file.

Después de que se hayan importado los catálogos, los elementos sys.database_files y sys.master_filese actualizan para eliminar las entradas de catálogo, y la columna path de sys.fulltext_catalogs se establece en NULL.After the catalogs have been imported, the sys.database_files and sys.master_files are updated to remove the catalog entries and the path column in sys.fulltext_catalogs is set to NULL.

Para realizar una copia de seguridad de una base de datosTo back up a database

Para restaurar una copia de seguridad de base de datosTo restore a database backup

EjemploExample

En el ejemplo siguiente se usa la cláusula MOVE en la instrucción RESTORE para restaurar una base de datos de SQL Server 2005 (9.x)SQL Server 2005 (9.x) denominada ftdb1.The following example uses the MOVE clause in the RESTORE statement, to restore a SQL Server 2005 (9.x)SQL Server 2005 (9.x) database named ftdb1. La base de datos, el registro y los archivos de catálogo de SQL Server 2005 (9.x)SQL Server 2005 (9.x) se mueven a las nuevas ubicaciones de la instancia del servidor de SQL Server 2017SQL Server 2017 de la manera siguiente:The SQL Server 2005 (9.x)SQL Server 2005 (9.x) database, log, and catalog files are moved to new locations on the SQL Server 2017SQL Server 2017 server instance, as follows:

  • El archivo de base de datos, ftdb1.mdf, se mueve a C:\Program Files\Microsoft SQL Server\MSSQL.1MSSQL13.MSSQLSERVER\MSSQL\DATA\ftdb1.mdf.The database file, ftdb1.mdf, is moved to C:\Program Files\Microsoft SQL Server\MSSQL.1MSSQL13.MSSQLSERVER\MSSQL\DATA\ftdb1.mdf.

  • El archivo de registro, ftdb1_log.ldf, se mueve a un directorio de registro de la unidad de disco de registro, log_drive:\log_directory\ftdb1_log.ldf.The log file, ftdb1_log.ldf, is moved to a log directory on your log disk drive, log_drive:\log_directory\ftdb1_log.ldf.

  • Los archivos de catálogo que corresponden al catálogo de sysft_cat90 se mueven a C:\temp.The catalog files that correspond to the sysft_cat90 catalog are moved to C:\temp. Una vez importados los índices de texto completo, estos se sitúan automáticamente en un archivo de base de datos, C:\ftrow_sysft_cat90.ndf, y se eliminan de C:\temp.After the full-text indexes are imported, they will automatically be placed in a database file, C:\ftrow_sysft_cat90.ndf, and the C:\temp will be deleted.

RESTORE DATABASE [ftdb1] FROM  DISK = N'C:\temp\ftdb1.bak' WITH  FILE = 1,  
   MOVE N'ftdb1' TO N'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\ftdb1.mdf',  
    MOVE N'ftdb1_log' TO N'log_drive:\log_directory\ftdb1_log.ldf',  
    MOVE N'sysft_cat90' TO N'C:\temp';  

Adjuntar una base de datos de SQL Server 2005 a SQL Server 2017SQL Server 2017Attaching a SQL Server 2005 database to SQL Server 2017SQL Server 2017

En SQL Server 2008SQL Server 2008 y versiones posteriores, un catálogo de texto completo es un concepto lógico que hace referencia a un grupo de índices de texto completo.In SQL Server 2008SQL Server 2008 and later versions, a full-text catalog is a logical concept that refers to a group of full-text indexes. Un catálogo de texto completo es un objeto virtual y no pertenece a ningún grupo de archivos.The full-text catalog is a virtual object that does not belong to any filegroup. Sin embargo, al adjuntar una base de datos de SQL Server 2005 (9.x)SQL Server 2005 (9.x) que contiene archivos de catálogo de texto completo a una instancia del servidor de SQL Server 2017SQL Server 2017 , los archivos de catálogo se adjuntan desde su ubicación anterior junto con los demás archivos de base de datos, igual que en SQL Server 2005 (9.x)SQL Server 2005 (9.x).However, when you attach a SQL Server 2005 (9.x)SQL Server 2005 (9.x) database that contains full-text catalog files onto a SQL Server 2017SQL Server 2017 server instance, the catalog files are attached from their previous location along with the other database files, the same as in SQL Server 2005 (9.x)SQL Server 2005 (9.x).

El estado de cada catálogo de texto completo adjunto de SQL Server 2017SQL Server 2017 es el mismo que el que tenía la base de datos cuando se separó de SQL Server 2005 (9.x)SQL Server 2005 (9.x).The state of each attached full-text catalog on SQL Server 2017SQL Server 2017 is the same as when the database was detached from SQL Server 2005 (9.x)SQL Server 2005 (9.x). Si, durante la operación de separación, se suspendió cualquier tarea de rellenado de un índice de texto completo, ésta se reanudará en SQL Server 2017SQL Server 2017, por lo que será posible realizar búsquedas de texto completo en dicho índice de texto completo.If any full-text index population was suspended by the detach operation, the population is resumed on SQL Server 2017SQL Server 2017, and the full-text index becomes available for full-text search.

Si SQL Server 2017SQL Server 2017 no puede localizar un archivo de catálogo de texto completo o si el archivo de texto completo se mueve durante la operación de separación sin especificar una nueva ubicación, el comportamiento dependerá de la opción de actualización de texto completo seleccionada.If SQL Server 2017SQL Server 2017 cannot find a full-text catalog file or if the full-text file was moved during the attach operation without specifying a new location, the behavior depends on the selected full-text upgrade option. Si la opción de actualización de texto completo es Importar o Volver a generar, se vuelve a generar el catálogo de texto completo adjunto.If the full-text upgrade option is Import or Rebuild, the attached full-text catalog is rebuilt. Si la opción de actualización de texto completo es Restablecer, se restablece el catálogo de texto completo adjunto.If the full-text upgrade option is Reset, the attached full-text catalog is reset.

Para obtener más información sobre cómo separar y adjuntar una base de datos, vea Adjuntar y separar bases de datos (SQL Server), CREATE DATABASE (Transact-SQL de SQL Server), sp_attach_db y sp_detach_db (Transact-SQL).For more information about detaching and attaching a database, see Database Detach and Attach (SQL Server), CREATE DATABASE (SQL Server Transact-SQL), sp_attach_db, and sp_detach_db (Transact-SQL).

Vea tambiénSee also

Introducción a la búsqueda de texto completo Get Started with Full-Text Search
Configurar y administrar separadores de palabras y lematizadores para la búsqueda Configure and Manage Word Breakers and Stemmers for Search
Configurar y administrar filtros para búsquedasConfigure and Manage Filters for Search