Solucionar problemas de indización de texto completo

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Solucionar errores de indización de texto completo

Al rellenar o mantener un índice de texto completo, es posible que el indizador de texto completo no pueda indizar una o varias filas por las razones que se explican a continuación. Estos errores de nivel de fila no impiden que se realice el llenado. El indizador omite estas filas, lo que significa que no se pueden realizar consultas del contenido de estas filas.

Pueden producirse errores de indización cuando:

  • El indizador no puede encontrar o cargar un componente de un filtro o separador de palabras. Este error puede producirse si la fila de tabla contiene un formato de documento o contenido en un idioma que no se ha registrado con la instancia de SQL Server. Este error también puede darse si el componente del separador de palabras o del filtro no se firmó o si no superó la comprobación de firmas al cargarse. Azure SQL y Azure SQL Managed Instance no admiten separadores de palabras de terceros.

  • Se produce un error en un componente, como un separador de palabras o un filtro, y devuelve un error al indizador. Este error puede ocurrir si el documento que se está indizando está dañado y el filtro no puede extraer texto del documento. También puede suceder cuando un componente no puede administrar el contenido de una sola fila que supere cierto tamaño, debido a los límites de memoria del host de demonio de filtro de texto completo (fdhost.exe).

El registro de rastreo contiene información relativa al motivo del error para cada error de nivel de fila. Los recuentos de errores se encuentran resumidos al final de un llenado completo o incremental.

Existen otros errores que pueden afectar al proceso de indización en sí e impedir que se realice el llenado:

  • El índice de texto completo supera el límite del número de filas que puede contener un catálogo de texto completo.

  • Se modifica, se quita o vuelve a generarse un índice clúster o un índice de clave de texto completo de la tabla que se está indizando.

  • El catálogo de texto completo queda dañado debido a un error de hardware o a que el disco está dañado.

  • Un grupo de archivos que contiene la tabla cuyo texto completo se está indizando se queda sin conexión o pasa a ser de solo lectura.

Revise el registro de rastreo al final de cualquier operación de llenado de índice de texto completo importante o cuando el llenado no llega a completarse.

Componentes sin firmar

De forma predeterminada, el indizador de texto completo necesita los filtros y los separadores de palabras que carga para firmarse. Si no están firmados, lo cual puede ocurrir cuando se instalan componentes personalizados, debe configurar el indizador de texto completo para que omita la comprobación de firmas.

Importante

Omitir la comprobación de firma hace que la instancia de SQL Server sea menos segura. Se recomienda que firme todo componente que implemente o que se asegure de que todo componente que adquiera esté firmado. Para obtener información sobre la firma de componentes, consulte sp_fulltext_service (Transact-SQL).

Índice de texto completo en estado incoherente después de restaurar el registro de transacciones

Al restaurar el registro de transacciones de una base de datos, es posible que aparezca una advertencia que indica que el índice de texto completo no es coherente. El motivo es que se ha modificado el índice de texto completo en una tabla después de realizar la copia de seguridad de la base de datos. Si esto ocurre, deberá ejecutar un rellenado completo (rastreo) en la tabla para devolver la coherencia al índice de texto completo. Para obtener más información, vea Rellenar índices de texto completo.

Consulte también

ALTER FULLTEXT CATALOG (Transact-SQL)
Rellenar índices de texto completo