L'objectif de ce service est de fournir une indexation sur les documents de type texte stockées dans la base. Un document de type texte est représenté par une colonne de type caractère.
Le service d'indexation de texte intégral, utilise une structure différente des index habituellement présents dans SQL Server, en effet les informations relatives à cet index sont stockées à part dans un catalogue de texte intégral. Chaque catalogue peut contenir un ou plusieurs index.
Afin d'obtenir un index significatif tout en minimisant sa taille, il est nécessaire de réduire le nombre de terme indexé. Pour cela tous les termes contenu dans le fichier noiseFRA.txt (habituellement situé dans le dossier C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\FTData). Ce fichier texte est librement éditable afin de pouvoir modifier la liste des termes dénué de sens en y ajoutant les termes couramment employés dans les différents documents comme le nom de la société, des termes ou des acronymes spécifiques au métier...
La mise en place d'un tel type d'index s'effectue de la façon suivante:
Le service doit s'exécuter dans le contexte d'un compte qui dispose des privilèges nécessaires pour permettre la création du catalogue (fichier dans un dossier du serveur).
Création du catalogue
Le catalogue est défini au niveau de la base. Pour une base de données tous les catalogues sont visibles à partir du dossier Stockage - Catalogue de texte intégral.
Un catalogue ne peut être défini que si la recherche de texte intégrale est activée au niveau de la bas, ce qui est fait par défaut dans SQL Server 2005. Si ce n'est pas le cas il est nécessaire d'exécuter la procédure sp_fulltext_database de la façon suivante
use club; go exec sp_fulltext_database @action='enable'
Pour un créer un nouveau catalogue, il est simplement nécessaire de sélectionner l'option Nouveau catalogue de texte intégrale depuis le menu contextuel associé à ce dossier.

La fenêtre de définition du nouveau catalogue est alors affichée. Il est nécessaire de fournir un nom ainsi qu'un emplacement

Contrairement aux index classiques qui sont définis à partir de la table. les index de texte intégral sont définis à partir du catalogue. Seul les tables possédant un identifiant unique (sous forme de clé primaire ou bien contrainte d'unicité) peuvent participer à ce type d'indexation. Le remplissage de l'index peut être immédiat ou bien différée.
Les colonnes à indexées sont sélectionnées depuis la page Table/vues de la fenêtre des propriétés du catalogue.

Depuis la page planification il est possible de planifier le remplissage de l'index. En effet un colonne de type texte de grande dimension va nécessité un temps important pour son indexation. Aussi est il plus judicieux de planifier cette opération à une période de moindre activité.
L'utilisation de cet index est transparent, il n'y a pas d'opérations particulières à exécuter pour l'utiliser. Comme pour les index classiques, c'est l'optimiseur de requête qui se charge de trouver la façon optimale de manipuler les données pour fournir le plus rapidement possibles les valeurs.
Le gain est toutefois très important lors de l'utilisation des méthodes de recherche dans les champs texte tels que CONTAINS, CONTAINSTABLE, FREETEXT et FREETEXTTABLE.