CREATE FULLTEXT CATALOG (Transact-SQL)

Crée un catalogue de texte intégral pour une base de données. Ce catalogue peut avoir plusieurs index de recherche en texte intégral, mais ce type d'index ne peut faire partie que d'un catalogue de texte intégral. Chaque base de données peut contenir plusieurs catalogues de texte intégral ou n'en contenir aucun.

Il est impossible de créer des catalogues de texte intégral dans les bases de données master, model ou tempdb.

Important

À compter de SQL Server 2008, un catalogue de texte intégral est un objet virtuel qui n'appartient à aucun groupe de fichiers. Un catalogue de texte intégral est un concept logique qui fait référence à un groupe d'index de recherche en texte intégral.

Icône Lien de rubriqueConventions de syntaxe Transact-SQL

Syntaxe

CREATE FULLTEXT CATALOG catalog_name
     [ON FILEGROUP filegroup ]
     [IN PATH 'rootpath']
     [WITH <catalog_option>]
     [AS DEFAULT]
     [AUTHORIZATION owner_name ]

<catalog_option>::=
     ACCENT_SENSITIVITY = {ON|OFF}

Arguments

  • catalog_name
    Nom du nouveau catalogue. Les catalogues doivent se différencier par des noms uniques dans la base de données active. De même, le nom du fichier correspondant au catalogue de texte intégral (voir ON FILEGROUP) doit être unique parmi tous les autres fichiers de la base de données. Si le nom du catalogue est déjà utilisé par un autre catalogue de la base de données, SQL Server renvoie une erreur.

    Le nom du catalogue ne doit pas dépasser 120 caractères.

  • ON FILEGROUP filegroup
    À partir de SQL Server 2008, cette clause n'a aucun effet.

  • IN PATH 'rootpath'

    Notes

    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é.

    À partir de SQL Server 2008, cette clause n'a aucun effet.

  • ACCENT_SENSITIVITY = {ON|OFF}
    Spécifie si le catalogue respecte ou non les accents lors d'une indexation de texte intégral. Si cette propriété est modifiée, l'index doit être reconstitué. Le comportement par défaut est celui qui est spécifié pour les accents dans le classement de base de données. Pour consulter ce classement, utilisez la vue de catalogue sys.databases.

    Pour déterminer si un catalogue de texte intégral respecte ou non les accents, utilisez la fonction FULLTEXTCATALOGPROPERTY avec la valeur de propriété accentsensitivity sur catalog_name. Si la valeur renvoyée est « 1 », le catalogue de texte intégral respecte les accents ; si la valeur est « 0 », il ne les respecte pas.

  • AS DEFAULT
    Spécifie que le catalogue est le catalogue par défaut. Lorsque des index de texte intégral sont créés sans qu'un catalogue de texte intégral soit explicitement spécifié, le catalogue par défaut est utilisé. Si un catalogue de texte intégral est déjà marqué AS DEFAULT, le fait de définir le nouveau catalogue AS DEFAULT le désigne comme catalogue de texte intégral par défaut.

  • AUTHORIZATION owner_name
    Associe le propriétaire du catalogue de texte intégral au nom d'un utilisateur ou d'un rôle de base de données. Si owner_name est un rôle, celui-ci doit être le nom d'un rôle dont l'utilisateur actuel est membre ou bien l'utilisateur qui exécute l'instruction doit être le propriétaire de la base de données ou l'administrateur système.

    Si owner_name est un nom d'utilisateur, ce nom doit être l'un des éléments suivants :

    • le nom de l'utilisateur exécutant l'instruction ;

    • le nom d'un utilisateur pour lequel l'utilisateur exécutant la commande dispose des autorisations d'emprunt d'identité ;

    • l'utilisateur exécutant la commande doit être le propriétaire de la base de données ou l'administrateur système.

    Vous devez aussi accorder à owner_name l'autorisation TAKE OWNERSHIP sur le catalogue de texte intégral spécifié.

Notes

Les ID de catalogues de texte intégral commencent à 00005 et sont incrémentés d'une unité à chaque fois qu'un catalogue est créé.

Autorisations

L'utilisateur doit disposer de l'autorisation CREATE FULLTEXT CATALOG pour la base de données ou être membre du rôle de base de données fixe db_owner ou db_ddladmin.

Exemple

L'exemple suivant crée un catalogue de texte intégral ainsi qu'un index de texte intégral.

USE AdventureWorks2008R2;
GO
CREATE FULLTEXT CATALOG ftCatalog AS DEFAULT;
GO
CREATE FULLTEXT INDEX ON HumanResources.JobCandidate(Resume) KEY INDEX PK_JobCandidate_JobCandidateID;
GO