Restauration fragmentaire et index de recherche en texte intégral

 Cette rubrique ne concerne que les bases de données contenant plusieurs groupes de fichiers et, pour les bases de données en mode simple, que les groupes de fichiers en lecture seule.

Les index de recherche en texte intégral sont stockés dans des groupes de fichiers de base de données et peuvent être affectés par une restauration fragmentaire. Si l'index de recherche en texte intégral réside dans le même groupe de fichiers que des données de table associées, la restauration fragmentaire fonctionne comme prévu.

Notes

Pour afficher l'ID du groupe de fichiers qui contient un index de recherche en texte intégral, sélectionnez la colonne data_space_id de sys.fulltext_indexes.

Index de recherche en texte intégral et tables dans des groupes de fichiers distincts

Si un index de recherche en texte intégral réside dans un autre groupe de fichiers que les données de table associées, le comportement d'une restauration fragmentaire dépend du groupe de fichiers restauré et mis en ligne en premier :

  • Si le groupe de fichiers contenant l'index de recherche en texte intégral est restauré et mis en ligne avant les groupes de fichiers contenant les données de table associées, la recherche en texte intégral fonctionne comme prévu dès que l'index de recherche en texte intégral est en ligne.

  • Si le groupe de fichiers contenant les données de table est restauré et mis en ligne avant le groupe de fichiers contenant l'index de recherche en texte intégral, le comportement du texte intégral peut être affecté. En effet, les instructions Transact-SQL qui déclenchent un remplissage, reconstruisent le catalogue ou réorganisent le catalogue échouent tant que l'index n'est pas mis en ligne. Ces instructions incluent CREATE FULLTEXT INDEX, ALTER FULLTEXT INDEX, DROP FULLTEXT INDEX et ALTER FULLTEXT CATALOG.

    Dans ce cas, les facteurs suivants sont importants :

    • Si le suivi des modifications est activé pour l'index de recherche en texte intégral, le DML utilisateur échoue tant que le groupe de fichiers de l'index n'est pas mis en ligne. Il en va de même pour une opération de suppression.

    • Quel que soit le suivi des modifications, les requêtes de texte intégral échouent, car l'index n'est pas disponible. Si une requête de texte intégral est tentée alors que le groupe de fichiers contenant l'index de recherche en texte intégral est hors connexion, une erreur est retournée.

    • Les fonctions d'état (telles que FULLTEXTCATALOGPROPERTY) réussissent uniquement dans les cas où elles n'ont pas à accéder à l'index de recherche en texte intégral. Par exemple, l'accès à n'importe quelles métadonnées de texte intégral en ligne réussira, alors que uniquekeycount et itemcount échoueront.

    Une fois le groupe de fichiers de l'index de recherche en texte intégral restauré et mis en ligne, les données de l'index et des tables sont cohérentes.

Dès que le groupe de fichiers des tables et celui de l'index de recherche en texte intégral sont en ligne, tout remplissage de texte intégral suspendu reprend.