sp_fulltext_catalog (Transact-SQL)

 

CETTE RUBRIQUE S’APPLIQUE À :ouiSQL Server (à partir de la version 2008)ouiAzure SQL DatabasenonAzure SQL Data WarehousenonParallel Data Warehouse

Permet de créer ou de supprimer un catalogue de texte intégral, et de démarrer ou d'arrêter l'indexation d'un catalogue. Plusieurs catalogues de texte intégral peuvent être créés pour chaque base de données.

System_CAPS_ICON_important.jpg Important


Cette fonctionnalité sera supprimée dans une prochaine version de Microsoft SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité. Utilisez CREATE FULLTEXT CATALOG, ALTER FULLTEXT CATALOG, et DROP FULLTEXT CATALOG à la place.

S’applique à: SQL Server (SQL Server 2008 et version actuelle), Base de données SQL.

Topic link icon Conventions de la syntaxe Transact-SQL

  
sp_fulltext_catalog [ @ftcat= ] 'fulltext_catalog_name' ,   
     [ @action= ] 'action'   
     [ , [ @path= ] 'root_directory' ]   

[ @ftcat=] 'fulltext_catalog_name»
Nom du catalogue de texte intégral. Les noms de catalogues doivent être uniques dans chaque base de données. fulltext_catalog_name est sysname.

[ @action=] 'action'
Action à exécuter. action est varchar (20), et peut prendre l’une des valeurs suivantes.

System_CAPS_ICON_note.jpg Remarque


En fonction de vos besoins, vous pouvez créer, supprimer et modifier des catalogues de texte intégral. Toutefois, il vaut mieux éviter de procéder à des modifications de schéma sur plusieurs catalogues à la fois. Ces actions peuvent être effectuées à l’aide de la sp_fulltext_table procédure stockée, qui est la méthode recommandée.

ValueDescription
CréerCrée un catalogue de texte intégral vide dans le système de fichiers et ajoute une ligne correspondante dans sysfulltextcatalogs avec la fulltext_catalog_name et root_directory, le cas échéant, les valeurs. fulltext_catalog_name doit être unique dans la base de données.
DROPSupprime fulltext_catalog_name en le supprimant du système de fichiers, en supprimant la ligne correspondante dans sysfulltextcatalogs. Cette action échoue si le catalogue contient des index pour une ou plusieurs tables. sp_fulltext_table 'table_name', 'drop' doit être exécutée pour supprimer les tables du catalogue.

Une erreur est affichée si le catalogue n'existe pas.
start_incrementalDémarre un remplissage incrémentiel de fulltext_catalog_name. Une erreur est affichée si le catalogue n'existe pas. Si une alimentation d'index de recherche en texte intégral est déjà active, un avertissement est affiché, mais aucune opération d'alimentation ne se produit. Avec remplissage incrémentiel uniquement les lignes modifiées sont récupérées pour l’indexation de texte intégral, condition qu’il existe un timestamp colonne présente dans la table de recherche en texte intégral indexée.
start_fullDémarre un remplissage complet pour fulltext_catalog_name. Même si elle a déjà été indexée, chaque ligne de chaque table associée à ce catalogue de texte intégral est récupérée lors de l'indexation en texte intégral.
ArrêterArrête un remplissage d’index pour fulltext_catalog_name. Une erreur est affichée si le catalogue n'existe pas. Aucun avertissement n'est affiché si l'alimentation était déjà arrêtée.
ReconstructionReconstruit fulltext_catalog_name. Dans ce cas, le catalogue existant est supprimé et un autre catalogue est créé à sa place. Toutes les tables qui comportent des références d'indexation de texte intégral sont associées au nouveau catalogue. La reconstruction redéfinit les métadonnées de texte intégral des tables système de la base de données.

Si le suivi des modifications est désactivé (OFF), la reconstruction ne déclenche pas de réalimentation du catalogue de texte intégral récemment créé. Dans ce cas, pour réalimenter, exécutez sp_fulltext_catalog avec la start_full ou start_incremental action.

[ @path=] 'root_directory»
Est le répertoire racine (pas le chemin physique complet) pour un créer action. root_directory est nvarchar (100) et a une valeur par défaut NULL, ce qui indique l’utilisation de l’emplacement par défaut spécifié lors de l’installation. Il s’agit du sous-répertoire Ftdata situé dans le répertoire Mssql ; par exemple, C:\Program Files\Microsoft SQL Server\MSSQL13. MSSQLSERVER\MSSQL\FTData. Le répertoire racine spécifié doit se trouver sur un lecteur du même ordinateur, ne pas être désigné seulement par une lettre de lecteur et ne pas être un chemin d'accès relatif. Les disques réseau et amovibles, les disquettes et chemins UNC ne sont pas pris en charge. Les catalogues de texte intégral doivent être créés sur un lecteur de disque local associé à une instance de SQL Server.

@path est valide uniquement lorsque action est créer. Pour les actions autres que créer (arrêter, reconstruire, et ainsi de suite), @path doit avoir la valeur NULL ou être omis.

Si l'instance de SQL Server est un serveur virtuel de cluster, le répertoire de catalogue spécifié doit être installé sur un lecteur de disque partagé dont la ressource SQL Server dépend. Si @path n’est pas spécifié, l’emplacement du répertoire de catalogue par défaut est sur le lecteur de disque partagé dans le répertoire qui a été spécifié lors de l’installation du serveur virtuel.

0 (réussite) ou 1 (échec)

Aucune

Le start_full action est utilisée pour créer un instantané complet des données de recherche en texte intégral dans fulltext_catalog_name. Le start_incremental action permet de réindexer uniquement les lignes modifiées dans la base de données. Remplissage incrémentiel peut être appliqué uniquement si la table possède une colonne de type timestamp. Si une table dans le catalogue de texte intégral ne contient pas une colonne de type timestamp, la table fait l’objet d’un remplissage complet.

Les données d'index et de catalogue de texte intégral sont enregistrées dans des fichiers créés dans un répertoire du catalogue de texte intégral. Le répertoire du catalogue de texte intégral est créé en tant que sous-répertoire du répertoire spécifié dans @path ou dans le répertoire du catalogue de texte intégral par défaut serveur si @path n’est pas spécifié. Le nom du répertoire du catalogue de texte intégral est créé de telle façon qu'il est unique sur le serveur. Par conséquent, tous les répertoires de catalogue de texte intégral peuvent partager le même chemin.

L’appelant doit être membre de la db_owner rôle. En fonction de l’action demandée, l’appelant doit disposer des autorisations ALTER ou CONTROL (qui db_owner a) sur le catalogue de texte intégral cible.

A. Création d'un catalogue de texte intégral

Cet exemple crée un catalogue de texte intégral vide, Cat_Desc, dans le AdventureWorks2012 base de données.

USE AdventureWorks2012;  
GO  
EXEC sp_fulltext_catalog 'Cat_Desc', 'create';  
GO  

B. Pour reconstruire un catalogue de texte intégral

Cet exemple reconstruit un catalogue de texte intégral existant, Cat_Desc, dans le AdventureWorks2012 base de données.

USE AdventureWorks2012;  
GO  
EXEC sp_fulltext_catalog 'Cat_Desc', 'rebuild';  
GO  

C. Démarrage de l'alimentation d'un catalogue de texte intégral

Cet exemple démarre un remplissage complet de le Cat_Desc catalogue.

USE AdventureWorks2012;  
GO  
EXEC sp_fulltext_catalog 'Cat_Desc', 'start_full';  
GO  

D. Arrêt de l'alimentation d'un catalogue de texte intégral

Cet exemple arrête le remplissage de la Cat_Desc catalogue.

USE AdventureWorks2012;  
GO  
EXEC sp_fulltext_catalog 'Cat_Desc', 'stop';  
GO  

E. Suppression d'un catalogue de texte intégral

Cet exemple supprime la Cat_Desc catalogue.

USE AdventureWorks2012;  
GO  
EXEC sp_fulltext_catalog 'Cat_Desc', 'drop';  
GO  

FULLTEXTCATALOGPROPERTY &#40 ; Transact-SQL &#41 ;
sp_fulltext_database &#40 ; Transact-SQL &#41 ;
sp_help_fulltext_catalogs &#40 ; Transact-SQL &#41 ;
sp_help_fulltext_catalogs_cursor &#40 ; Transact-SQL &#41 ;
#40 ; et les procédures stockées du système Transact-SQL &#41 ;
Recherche en texte intégral

Ajouts de la communauté

AJOUTER
Afficher: