SelectEtoile : Base de connaissance SGBD

Posts Tagged 'ms sqlserver'

Présentation du site

 
Ce site a été développé afin de fournir des explications, documentations et astuces en tout genre concernant les bases de données.Ils proviennent de retour d'expériences de différents DBA.
Il est à noter que ces articles ne sont que des notes et en aucune façon des documentations officielles.
Ce site peut contenir des commandes non supportées par les différents éditeurs qui sont à utiliser avec précaution.
Bien sur, si vous constatez des erreurs ou avez des remarques sur un ou plusieurs articles, n'hésitez pas à nous en faire part, soit via l'onglet Contacts, soit via les commentaires à votre disposition à la fin de chaque article.
 
Pour ceux qui seraient intéressés pour écrire ou proposer des articles, n'hésitez pas à me contacter via 'Contacts' dans le menu du haut.
flux_rssInscrivez vous au fil d'actualité selectetoile.net flux_rss

Administration / Utilisation Full Text Search SQLSERVER

Ajout de la fonction Full Text Search sur un serveur existant

Aller dans Menu Start / Settings / Control Panel

Puis dans 'Add or Remove Programs'

Cliquer sur le bouton 'Change' de Microsoft SQL Server, et suivre les écrans suivants:

 

 

 

 

 

 

Choisir 'Change Installed Components'

 

 Cliquer sur "Full-text Search"

 

 

 

 

 

 

 

 

 

 

Pour vérifier que l'installation s'est correctement :

  • Vérifier que le service 'SQL Server FullText Search (InstanceName)' est bien présente et démarrée
  • Lancer "SQL Server Management Studio"

 

Vérification préalable : le full-text est il activé ?

select databaseproperty('nomdelabase' ,'IsFulltextEnabled');

Activation du full-text

use nomdelabase

exec sp_fulltext_database 'enable'

 

Création d'un catalogue full-text

exec sp_fulltext_catalog 'nomducatalogueacreer', 'create'

Création d'un catalogue full-text en spécifiant le chemin     

 

exec sp_fulltext_catalog 'nomducatalogueacreer', 'create', 'disque:\répertoire'

Ajout d'une table à la liste des tables indexées pour le full-text

 

exec sp_fulltext_table 'table', 'create', 'nomducataloguefulltext', 'nomcléprimaire'

Ajout d'une colonne à la liste des colonnes indexées pour le full-text

 

exec sp_fulltext_column 'table', 'colonne', 'add', 0x040c

Indexation d'un catalogue :

 

exec sp_fulltext_catalog 'nomducatalogue', 'start_full'

Vérifier qu'une colonne est indexée :

 

SELECT ColumnProperty ( ObjectId('titles'),'titles','IsFulltextIndexed' )

Liste des colonnes indexée d'une table

sp_help_fulltext_columns 'Article'

 

Pour ajouter/supprimer une colonne à un index il faut d'abord desactiver celui-ci

sp_fulltext_table 'Articles', 'deactivate'puissp_fulltext_column 'Articles', 'type', 'drop'

sp_fulltext_column 'Articles', 'title', 'add' et on réactive :

sp_fulltext_table 'Articles', 'activate'

 

IMPORTANT : Il est conseillé de mettre tous les catalogues en mode tracking, cela signifie que le catalogue se reconstitue lorsque le serveur a 100ms de disponible.

Rappel pour cela :

sp_fullText_Table 'Articles', 'Start_change_tracking'

sp_fullText_Table 'Articles', 'Start_background_updateindex'

 

 

 

Informations sur les différents composants du fulltext ('filter, word-breaker and protocol handler')

sp_help_fulltext_system_components 'all' -- affiche un tableau de tous les composants installés

Equivalent à la vue system 'select * from sys.fulltext_document_types'

EXEC sp_help_fulltext_system_components 'filter' -- n'affiche que les composants de type 'filter'

ex :

Filter    .ascx    E0CA5340-4534-11CF-B952-00AA0051FE20    d:\MSSQL2005\MSSQL.1\MSSQL\Binn\nlhtml.dll    12.0.6828.0    Microsoft Corporation
Filter    .asm    C7310720-AC80-11D1-8DF3-00C04FB6EF4F    d:\MSSQL2005\MSSQL.1\MSSQL\Binn\msfte.dll    12.0.6828.0    Microsoft Corporation
Filter    .asp    E0CA5340-4534-11CF-B952-00AA0051FE20    d:\MSSQL2005\MSSQL.1\MSSQL\Binn\nlhtml.dll    12.0.6828.0    Microsoft Corporation
Filter    .aspx    E0CA5340-4534-11CF-B952-00AA0051FE20    d:\MSSQL2005\MSSQL.1\MSSQL\Binn\nlhtml.dll    12.0.6828.0    Microsoft Corporation
Filter    .bat    C7310720-AC80-11D1-8DF3-00C04FB6EF4F    d:\MSSQL2005\MSSQL.1\MSSQL\Binn\msfte.dll    12.0.6828.0    Microsoft Corporation
Filter    .c    C7310720-AC80-11D1-8DF3-00C04FB6EF4F    d:\MSSQL2005\MSSQL.1\MSSQL\Binn\msfte.dll    12.0.6828.0    Microsoft Corporation
Filter    .cmd    C7310720-AC80-11D1-8DF3-00C04FB6EF4F    d:\MSSQL2005\MSSQL.1\MSSQL\Binn\msfte.dll    12.0.6828.0    Microsoft Corporation
Filter    .cpp    C7310720-AC80-11D1-8DF3-00C04FB6EF4F    d:\MSSQL2005\MSSQL.1\MSSQL\Binn\msfte.dll    12.0.6828.0    Microsoft Corporation
Filter    .cxx    C7310720-AC80-11D1-8DF3-00C04FB6EF4F    d:\MSSQL2005\MSSQL.1\MSSQL\Binn\msfte.dll    12.0.6828.0    Microsoft Corporation
Filter    .def    C7310720-AC80-11D1-8DF3-00C04FB6EF4F    d:\MSSQL2005\MSSQL.1\MSSQL\Binn\msfte.dll    12.0.6828.0    Microsoft Corporation
Filter    .dic    C7310720-AC80-11D1-8DF3-00C04FB6EF4F    d:\MSSQL2005\MSSQL.1\MSSQL\Binn\msfte.dll    12.0.6828.0    Microsoft Corporation
Filter    .doc    F07F3920-7B8C-11CF-9BE8-00AA004B9986    d:\MSSQL2005\MSSQL.1\MSSQL\Binn\offfilt.dll       
Filter    .dot    F07F3920-7B8C-11CF-9BE8-00AA004B9986    d:\MSSQL2005\MSSQL.1\MSSQL\Binn\offfilt.dll       
Filter    .h    C7310720-AC80-11D1-8DF3-00C04FB6EF4F    d:\MSSQL2005\MSSQL.1\MSSQL\Binn\msfte.dll    12.0.6828.0    Microsoft Corporation
Filter    .hhc    E0CA5340-4534-11CF-B952-00AA0051FE20    d:\MSSQL2005\MSSQL.1\MSSQL\Binn\nlhtml.dll    12.0.6828.0    Microsoft Corporation
Filter    .hpp    C7310720-AC80-11D1-8DF3-00C04FB6EF4F    d:\MSSQL2005\MSSQL.1\MSSQL\Binn\msfte.dll    12.0.6828.0    Microsoft Corporation
Filter    .htm    E0CA5340-4534-11CF-B952-00AA0051FE20    d:\MSSQL2005\MSSQL.1\MSSQL\Binn\nlhtml.dll    12.0.6828.0    Microsoft Corporation
Filter    .html    E0CA5340-4534-11CF-B952-00AA0051FE20    d:\MSSQL2005\MSSQL.1\MSSQL\Binn\nlhtml.dll    12.0.6828.0    Microsoft Corporation
Filter    .htw    E0CA5340-4534-11CF-B952-00AA0051FE20    d:\MSSQL2005\MSSQL.1\MSSQL\Binn\nlhtml.dll    12.0.6828.0    Microsoft Corporation
Filter    .htx    E0CA5340-4534-11CF-B952-00AA0051FE20    d:\MSSQL2005\MSSQL.1\MSSQL\Binn\nlhtml.dll    12.0.6828.0    Microsoft Corporation
Filter    .hxx    C7310720-AC80-11D1-8DF3-00C04FB6EF4F    d:\MSSQL2005\MSSQL.1\MSSQL\Binn\msfte.dll    12.0.6828.0    Microsoft Corporation
Filter    .ibq    C7310720-AC80-11D1-8DF3-00C04FB6EF4F    d:\MSSQL2005\MSSQL.1\MSSQL\Binn\msfte.dll    12.0.6828.0    Microsoft Corporation
Filter    .idl    C7310720-AC80-11D1-8DF3-00C04FB6EF4F    d:\MSSQL2005\MSSQL.1\MSSQL\Binn\msfte.dll    12.0.6828.0    Microsoft Corporation
Filter    .inc    C7310720-AC80-11D1-8DF3-00C04FB6EF4F    d:\MSSQL2005\MSSQL.1\MSSQL\Binn\msfte.dll    12.0.6828.0    Microsoft Corporation
Filter    .inf    C7310720-AC80-11D1-8DF3-00C04FB6EF4F    d:\MSSQL2005\MSSQL.1\MSSQL\Binn\msfte.dll    12.0.6828.0    Microsoft Corporation
Filter    .ini    C7310720-AC80-11D1-8DF3-00C04FB6EF4F    d:\MSSQL2005\MSSQL.1\MSSQL\Binn\msfte.dll    12.0.6828.0    Microsoft Corporation
Filter    .inx    C7310720-AC80-11D1-8DF3-00C04FB6EF4F    d:\MSSQL2005\MSSQL.1\MSSQL\Binn\msfte.dll    12.0.6828.0    Microsoft Corporation
Filter    .js    C7310720-AC80-11D1-8DF3-00C04FB6EF4F    d:\MSSQL2005\MSSQL.1\MSSQL\Binn\msfte.dll    12.0.6828.0    Microsoft Corporation
Filter    .log    C7310720-AC80-11D1-8DF3-00C04FB6EF4F    d:\MSSQL2005\MSSQL.1\MSSQL\Binn\msfte.dll    12.0.6828.0    Microsoft Corporation
Filter    .m3u    C7310720-AC80-11D1-8DF3-00C04FB6EF4F    d:\MSSQL2005\MSSQL.1\MSSQL\Binn\msfte.dll    12.0.6828.0    Microsoft Corporation
Filter    .mht    C7310720-AC80-11D1-8DF3-00C04FB6EF4F    d:\MSSQL2005\MSSQL.1\MSSQL\Binn\msfte.dll    12.0.6828.0    Microsoft Corporation
Filter    .obd    F07F3920-7B8C-11CF-9BE8-00AA004B9986    d:\MSSQL2005\MSSQL.1\MSSQL\Binn\offfilt.dll       
Filter    .obt    F07F3920-7B8C-11CF-9BE8-00AA004B9986    d:\MSSQL2005\MSSQL.1\MSSQL\Binn\offfilt.dll       
Filter    .odc    E0CA5340-4534-11CF-B952-00AA0051FE20    d:\MSSQL2005\MSSQL.1\MSSQL\Binn\nlhtml.dll    12.0.6828.0    Microsoft Corporation
Filter    .pl    C7310720-AC80-11D1-8DF3-00C04FB6EF4F    d:\MSSQL2005\MSSQL.1\MSSQL\Binn\msfte.dll    12.0.6828.0    Microsoft Corporation
Filter    .pot    F07F3920-7B8C-11CF-9BE8-00AA004B9986    d:\MSSQL2005\MSSQL.1\MSSQL\Binn\offfilt.dll       
Filter    .ppt    F07F3920-7B8C-11CF-9BE8-00AA004B9986    d:\MSSQL2005\MSSQL.1\MSSQL\Binn\offfilt.dll       
Filter    .rc    C7310720-AC80-11D1-8DF3-00C04FB6EF4F    d:\MSSQL2005\MSSQL.1\MSSQL\Binn\msfte.dll    12.0.6828.0    Microsoft Corporation
Filter    .reg    C7310720-AC80-11D1-8DF3-00C04FB6EF4F    d:\MSSQL2005\MSSQL.1\MSSQL\Binn\msfte.dll    12.0.6828.0    Microsoft Corporation
Filter    .rtf    C7310720-AC80-11D1-8DF3-00C04FB6EF4F    d:\MSSQL2005\MSSQL.1\MSSQL\Binn\msfte.dll    12.0.6828.0    Microsoft Corporation
Filter    .stm    E0CA5340-4534-11CF-B952-00AA0051FE20    d:\MSSQL2005\MSSQL.1\MSSQL\Binn\nlhtml.dll    12.0.6828.0    Microsoft Corporation
Filter    .txt    C7310720-AC80-11D1-8DF3-00C04FB6EF4F    d:\MSSQL2005\MSSQL.1\MSSQL\Binn\msfte.dll    12.0.6828.0    Microsoft Corporation
Filter    .url    C7310720-AC80-11D1-8DF3-00C04FB6EF4F    d:\MSSQL2005\MSSQL.1\MSSQL\Binn\msfte.dll    12.0.6828.0    Microsoft Corporation
Filter    .vbs    C7310720-AC80-11D1-8DF3-00C04FB6EF4F    d:\MSSQL2005\MSSQL.1\MSSQL\Binn\msfte.dll    12.0.6828.0    Microsoft Corporation
Filter    .wtx    C7310720-AC80-11D1-8DF3-00C04FB6EF4F    d:\MSSQL2005\MSSQL.1\MSSQL\Binn\msfte.dll    12.0.6828.0    Microsoft Corporation
Filter    .xlb    F07F3920-7B8C-11CF-9BE8-00AA004B9986    d:\MSSQL2005\MSSQL.1\MSSQL\Binn\offfilt.dll       
Filter    .xlc    F07F3920-7B8C-11CF-9BE8-00AA004B9986    d:\MSSQL2005\MSSQL.1\MSSQL\Binn\offfilt.dll       
Filter    .xls    F07F3920-7B8C-11CF-9BE8-00AA004B9986    d:\MSSQL2005\MSSQL.1\MSSQL\Binn\offfilt.dll       
Filter    .xlt    F07F3920-7B8C-11CF-9BE8-00AA004B9986    d:\MSSQL2005\MSSQL.1\MSSQL\Binn\offfilt.dll       
Filter    .xml    41B9BE05-B3AF-460C-BF0B-2CDD44A093B1    d:\MSSQL2005\MSSQL.1\MSSQL\Binn\xmlfilt.dll    12.0.6828.0    Microsoft Corporation

 

Pour plus de précision sur un filtre :

EXEC sp_help_fulltext_system_components 'filter','.doc'

componenttype  componentname  clsid  fullpath version manufacturer
Filter       .doc F07F3920-7B8C-11CF-9BE8-00AA004B9986   d:\MSSQL2005\MSSQL.1\MSSQL\Binn\offfilt.dll    
 dbid  ftcatid
 5  31

dbid : id de la base

ftcatid : id du catalogue. On peut le retrouver avec la requête suivante :

'select * from sys.fulltext_catalogs where fulltext_catalog_id=31'

 

Article pouvant être pratique : Indexer du contenu HTML dans SQL Server 2008

 

Mise en place indexation des fichiers PDF sur SQLServer 2005

  1. Rappelez-vous que la table doit avoir un champ BLOB (varbinary(max) ou image), et une colonne spécifiant le type de fichier pour l'index fulltext.
  2. Télécharger et installer le filtre Adobe Acrobate PDF. Disponible sur http://www.adobe.com/support/downloads/detail.jsp?ftpID=2611.
  3. Lancer les commandes suivantes sur l'instance :
    • sp_fulltext_service 'load_os_resources',1.  Cette commande appelle le Service Microsoft Search qui charge les OS specific wordbreakers, stemmers,filter...
    • sp_fulltext_service 'verify_signature', 0.  Ne vérifie pas que les binaires sont signés.
  4. Rebooter l'instance SQLServer ainsi que le Service FTS.
  5. Créer votre indexe full-text.
  6. Lancer un reindex ensuite