Comparaison entre propriétaires de géodatabase dans SQL Server
Les géodatabases sont des ensembles de tables, de vues, de fonctions et de procédures stockées figurant à l'intérieur d'une base de données. Dans les géodatabases d'une base de données Microsoft SQL Server, cet ensemble d'objets peut être la propriété d'un utilisateur de base de données nommé sde ou d'un utilisateur de base de données dbo. L'utilisateur qui possède la géodatabase est considéré comme l'administrateur de géodatabase.
Vous devez impérativement comprendre le mode de gestion des accès aux données ou autres objets adopté par SQL Server. De ce fait, si vous ne connaissez pas bien le modèle de sécurité de ce logiciel, commencez par lire la documentation le concernant. SQL Server authentifie une connexion au niveau de l'instance, puis autorise l'utilisateur correspondant au niveau de la base de données. Les différents privilèges accordés peuvent porter sur l'instance dans son ensemble, sur une ou plusieurs bases de données spécifiques, ou sur des données au sein d'une base de données. Ce paramètre peut influer sur la sélection du type de propriétaire de géodatabase à utiliser.
L'identifiant utilisé pour la connexion lors de la création de la géodatabase détermine l'identité de l'utilisateur de base de données auquel appartiendra la géodatabase. Si l'identifiant Windows ou SQL Server utilisé pour la connexion est apparié à l'utilisateur dbo dans la base de données, une géodatabase de schéma dbo est créée. Si cet identifiant est apparié à un utilisateur appelé sde dans la base de données, une géodatabase de structure sde est créée.
Utilisateur sde
Dans une base de données, l'utilisateur sde peut être associé à un identifiant, authentifié par SQL Server ou par Windows. L'utilisateur sde doit avoir la haute main sur une structure appelée sde, qui doit correspondre à la structure par défaut de l'utilisateur sde. Dans la base de données, cet utilisateur doit bénéficier de privilèges lui permettant de créer et d'administrer la géodatabase.
Utilisateur dbo
L'utilisateur dbo et la structure par défaut associée sont créés automatiquement dans toutes les bases de données. Les identifiants peuvent correspondre à dbo dans une base de données. Il existe deux méthodes :
- via la création ou l'association d'un utilisateur à une base de données spécifique, en tant que propriétaire ;
- via l'association d'un utilisateur au rôle de serveur fixe sysadmin, en tant que membre.
Les identifiants appariés à l'utilisateur dbo dans une base de données spécifique bénéficient des privilèges les plus élevés au sein de cette base de données. Ces privilèges sont suffisants pour la création et l'administration de la géodatabase. Les identifiants appariés à l'utilisateur dbo dans une base de données spécifique ne bénéficient d'aucun privilège avancé dans l'instance SQL Server ou d'autres bases de données, sauf si ces privilèges sont accordés de manière explicite à l'identifiant.
Les identifiants relatifs à des membres du rôle de serveur fixe sysadmin sont appariés à dbo dans chaque base de données sur l'instance SQL Server ; ils bénéficient des privilèges les plus élevés dans l'ensemble de l'instance SQL Server. Ces privilèges permettent la création et l'administration de la géodatabase, ainsi que la création, la modification, la suppression et l'administration d'autres éléments sécurisables au sein de l'instance.
Tous les objets de base de données appartenant à l'utilisateur dbo sont stockés dans le schéma dbo.
Identification de l'utilisateur auquel la géodatabase doit appartenir
Il n'y a aucune différence en termes de performances ou de fonctionnalité entre les deux types de schéma de géodatabase. Chacun présente des avantages et des inconvénients. Sélectionnez l'utilisateur (et, partant, la structure) correspondant le mieux au système et au modèle de sécurité adopté.
Voici une comparaison des deux types de structure, selon le type d'authentification utilisé :
structure | Authentification | Avantages | Inconvénients |
---|---|---|---|
Dbo (membre du groupe sysadmin) | Identifiant Windows ou SQL Server |
|
|
Dbo (apparié à dbo dans une base de données spécifique) | Identifiant Windows ou SQL Server |
|
|
ArcSDE | Identifiant SQL Server |
|
|
ArcSDE | Identifiant Windows |
|
|
*La plupart des identifiants Windows (notamment les identifiants de domaine) appartiennent à une personne spécifique. Cette personne utilise l'identifiant pour se connecter à son ordinateur et accéder aux applications Windows, notamment à SQL Server. De ce fait, une fois connectée à son ordinateur, cette personne accède systématiquement à la géodatabase en tant qu'utilisateur sde. Pour éviter cette situation, vous pouvez créer un autre identifiant Windows, lui aussi associé à cette personne, qui en possède deux. Cependant, cela signifie que la personne doit passer d'un identifiant à l'autre sur l'ordinateur lorsqu'elle souhaite administrer la géodatabase. De même, de nombreux sites préfèrent ne pas créer plusieurs identifiants pour une même personne, afin d'éviter les risques de sécurité et de ne pas compliquer outre mesure la gestion des identifiants.