Préparation de SQL Server en vue du stockage de colonnes XML ArcSDE
Pour pouvoir créer une colonne XML ArcSDE dans une base de données Microsoft SQL Server, vous devez au préalable activer la recherche de texte intégral, créer un catalogue de texte intégral et accorder l'autorisation d'utiliser ce catalogue pour la base de données de stockage de cette colonne. Les colonnes XML ArcSDE sont utilisées par les services de métadonnées ArcIMS. Par conséquent, si vous avez l'intention d'utiliser des services de métadonnées, vous devez configurer votre instance SQL Server en vue du stockage de ces colonnes.
Lorsque vous installez SQL Server, veillez à installer également la fonction de recherche de texte intégral. Si vous avez déjà créé la base de données sans cette fonction, vous devez ajouter celle-ci.
Si vous avez mis à niveau SQL Server et que le moteur de recherche de texte intégral n'était pas installé dans la version précédente de SQL Server, il ne peut pas être installé dans le cadre de la mise à niveau ; il doit l'être en tant que composant supplémentaire une fois la mise à niveau effectuée.
Lorsqu'une base de données est créée à l'aide de l'instruction CREATE DATABASE, elle est automatiquement activée pour la recherche de texte intégral. Lorsqu'une base de données SQL Server 2008 est créée à l'aide de Management Studio, la recherche de texte intégral est activée par défaut. Toutefois, lorsqu'une base de données SQL Server 2005 est créée de manière interactive à l'aide de Management Studio, elle n'est pas automatiquement activée pour la recherche de texte intégral. Par conséquent, si vous avez mis à niveau votre base de données SQL Server 2005 vers la version 2008, peut-être devrez-vous activer la base de données pour la recherche de texte intégral, selon la base de données créée.
L'utilisateur allant posséder la colonne XML doit disposer d'autorisations suffisantes pour créer de nouveaux jeux de données dans la géodatabase. De plus, il doit disposer de l'autorisation REFERENCES sur le catalogue de texte intégral qui sera utilisé pour indexer le contenu de la colonne XML.
Seul l'administrateur ou le propriétaire de la base de données peut activer la base de données pour la recherche de texte intégral. Une fois ceci effectué, si un utilisateur différent effectue les étapes restantes, il doit disposer de l'autorisation CREATE FULLTEXT CATALOG et doit pouvoir accorder l'autorisation REFERENCES à d'autres utilisateurs.
-
Dans l'Explorateur d'objets de SQL Server Management Studio, cliquez avec le bouton droit sur le serveur de base de données, puis sur Nouvelle requête.
Une nouvelle fenêtre Editeur de requête SQL apparaît dans Management Studio.
-
Dans la fenêtre Editeur de requête SQL, saisissez puis exécutez la requête suivante pour vérifier que le moteur de recherche de texte intégral est correctement installé.
SELECT fulltextserviceproperty('IsFulltextInstalled');
Si la valeur 1 est renvoyée, le moteur de recherche de texte intégral a été correctement installé. Si une autre valeur est renvoyée, vous devez installer ou réinstaller le moteur de recherche de texte intégral ; il peut être nécessaire de réinstaller SQL Server. Vous ne pourrez par créer correctement un catalogue de texte intégral ou une colonne XML ArcSDE si cette requête ne renvoie pas la valeur 1.
- Accordez l'autorisation de créer des jeux de données dans la géodatabase à l'utilisateur qui sera propriétaire de la colonne XML.
-
Créez un catalogue de texte intégral. Reportez-vous à la rubrique Création d'un catalogue de texte intégral dans SQL Server.
Si cette opération est effectuée par toute autre personne que l'administrateur de base de données ou le propriétaire de la base de données, l'autorisation CREATE FULLTEXT CATALOG ainsi que la possibilité de donner l'autorisation REFERENCES à d'autres utilisateurs doivent être accordées à l'utilisateur qui créera le catalogue de texte intégral.
- Accordez à l'utilisateur propriétaire de la colonne XML l'autorisation REFERENCES sur le catalogue de texte intégral qui servira à indexer le contenu de cette colonne. (Ou bien accordez cette autorisation au rôle auquel l'utilisateur appartient.)