J'ai cette table de base de données qui est censée garder l'index de texte intégral à jour. Cependant, je ne le vois pas du tout (aucune erreur dans le journal car le dernier journal que je vois était quand je l'ai déclenché manuellement).
Voici ce que je vois ...
mais sur la table elle-même ...
Serait-ce la raison pour laquelle cela ne se produit pas automatiquement?
(..\MSSQL\Log\SQLFT*)
Réponses:
Vous regardez au mauvais endroit.
Vous devez vérifier comme ci-dessous:
Utilisation de T-SQL ..
Une fois terminé, vous pouvez vérifier l'état de la dernière date / heure remplie
Insérez des données ..
Vous verrez maintenant que le catalogue FT est mis à jour.
Dans les journaux (
..\MSSQL\Log\SQLFT*
) également, se trouve ci-dessous le message ...De BOL :
Reportez-vous également à Améliorer les performances des index de texte intégral
la source
Issue I am looking at is why it doesn't seem to update at all until I manually rebuild the index.
l'avez-vous réglé selon ce que j'ai montré. S'il y a beaucoup de changements, alors ça va prendre du temps, puisqueThe full-text index is updated in the background, however, so propagated changes might not be reflected immediately in the index.
Pour une raison quelconque, l'indexeur de texte intégral a arrêté le remplissage automatique pour l'une de mes bases de données SQL 2012 après que mon réplica de base de données de groupe de disponibilité secondaire a pris le relais et est devenu le réplica principal.
Après avoir supprimé l'index de texte intégral et l'avoir recréé sur la table avec le remplissage automatique activé, il a recommencé à s'autopopuler. J'ai utilisé SQL Management Studio et l'assistant de création d'index de texte intégral pour recréer l'index.
J'étais inquiet du temps qu'il faudrait pour exécuter une indexation complète des données. J'ai été agréablement surpris de constater qu'il n'a fallu que 5 minutes environ pour réindexer 3 colonnes de texte d'une table contenant 547619 enregistrements.
Les paramètres de suivi des modifications au niveau du tableau mentionnés dans la question sont restés désactivés. Ainsi, le suivi des modifications de l'index de texte intégral est définitivement différent du paramètre de suivi des modifications de table. Vous n'avez PAS besoin d'activer le suivi des modifications de table pour que le suivi des modifications d'indexation de texte intégral et l'indexation de texte intégral fonctionnent correctement.
L'exécution de la requête suivante à partir de la base de données révélera la dernière fois que votre indexeur de texte intégral a exécuté une analyse.
Lorsque le remplissage automatique est activé, le crawl_end_date doit changer après avoir inséré des données dans la table.
En outre, vous remarquerez que lorsque vous exécutez une requête qui utilise l'index de texte intégral, elle affiche les dernières données:
Références supplémentaires:
Article décrivant différentes méthodes de recherche de texte intégral: https://msdn.microsoft.com/en-us/library/ms142575%28v=sql.100%29.aspx
Informations sur l'interrogation d'une table indexée en texte intégral: https://technet.microsoft.com/en-us/library/ms142571(v=sql.110).aspx#queries
Article sur l'architecture de recherche de texte intégral: https://technet.microsoft.com/en-us/library/ms142571(v=sql.110).aspx#architecture
la source