Comparaison entre propriétaires de géodatabase dans SQL Server

Dans les géodatabases dans une base de données Microsoft SQL Server, les tables, les vues, les fonctions et les procédures stockées qui composent une géodatabase peuvent ê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. Étant donné que les noms d’utilisateur et de structure doivent correspondre dans une géodatabase, les géodatabases appartenant à l’utilisateur sde sont appelées géodatabases de structure sde et les géodatabases détenues par dbo sont désignées comme des géodatabases de structure dbo.

Remarque :

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 SQL Server, commencez par lire la documentation Microsoft SQL Server 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 du système d’exploitation ou l’identifiant 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 l’identifiant du système d’exploitation ou l’identifiant SQL Server 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 SQL Server, un identifiant authentifié ou encore un identifiant authentifié par le système d’exploitation. 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 de connexion peuvent être appariés à l’utilisateur dbo d’une base de données de l’une des deux manières suivantes :

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

Table de comparaison

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 d’eux possède ses avantages et ses 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é :

StructureAuthentificationAvantagesInconvénients

Dbo (membre du groupe sysadmin)

Système d’exploitation ou identifiant SQL Server

  • Si l’administrateur de base de données joue également le rôle d’administrateur de géodatabase SQL Server, il peut s’avérer utile d’utiliser un schéma dbo, afin d’éviter qu’une même personne utilise deux identifiants différents pour effectuer différentes tâches.
  • S'il vous faut plusieurs administrateurs de géodatabase, vous pouvez ajouter plusieurs identifiants au rôle de serveur fixe sysadmin.
  • L’identifiant est associé à des privilèges avancés sur l’ensemble des éléments sécurisables de l’instance SQL Server.
  • Les géodatabases de structure dbo ne sont pas prises en charge dans les services de base de données du Cloud.

Dbo (apparié à dbo dans une base de données spécifique)

Système d’exploitation ou identifiant SQL Server

  • L'administrateur de géodatabase peut effectuer l'administration des géodatabases et bases de données dans la base de données spécifique indiquée.
  • Les privilèges avancés se limitent à cette base de données.
  • S'il vous faut d'autres administrateurs de géodatabase, il est possible d'associer d'autres identifiants au rôle de serveur fixe sysadmin, ce qui leur permet de bénéficier également de privilèges dbo dans cette base de données.
  • L'utilisateur bénéficie de privilèges avancés dans la base de données.
  • L’identifiant doit être défini comme le propriétaire de la base de données. Autrement dit, vous devez créer l’identifiant et la base de données avec les outils de base de données et non pas avec l’outil Créer une géodatabase d’entreprise.
  • Les géodatabases de structure dbo ne sont pas prises en charge dans les services de base de données du Cloud.

ArcSDE

Identifiant de connexion SQL Server

  • L'utilisateur sde nécessite seulement quelques permissions relatives aux instructions dans une base de données spécifique pour pouvoir administrer la géodatabase.
  • Une géodatabase de schéma sde est utile si l’administrateur de la base de données et l’administrateur de la géodatabase ne sont pas la même personne. L’administrateur de base de données peut utiliser les outils de base de données pour créer la base de données, l’utilisateur sde (avec les privilèges requis) et une structure sde, puis laisser l’utilisateur sde créer la géodatabase à l’aide de l’outil Activer la géodatabase d’entreprise.
  • Un identifiant SQL Server sde peut être utilisé lors de la création d’une géodatabase dans les services de base de données du cloud.
  • Un seul identifiant peut être apparié à l'utilisateur sde.
  • L’instance SQL Server doit autoriser l’authentification en mode mixte.

ArcSDE

Identifiant de connexion du système d’exploitation

  • L’utilisateur sde nécessite seulement quelques permissions relatives aux instructions dans une base de données spécifique pour créer et administrer la géodatabase.
  • Une géodatabase de schéma sde est utile si l’administrateur de la base de données et l’administrateur de la géodatabase ne sont pas la même personne. L’administrateur de base de données peut utiliser les outils de base de données pour créer la base de données, l’utilisateur sde (avec les privilèges requis) et une structure sde, puis laisser l’utilisateur sde créer la géodatabase à l’aide de l’outil Activer la géodatabase d’entreprise.
  • Vous pouvez apparier un identifiant de domaine existant à l’utilisateur sde.
  • Un identifiant sde authentifié par le système d’exploitation peut être exploité sur les sites où l’instance SQL Server autorise uniquement l’authentification par le système d’exploitation.
  • Un seul identifiant peut être apparié à l'utilisateur sde.
  • Si vous souhaitez utiliser l’outil Créer une géodatabase d’entreprise pour créer la géodatabase, vous devez créer l’utilisateur sde en premier lieu, car l’outil ne cartographie pas l’utilisateur sde vers un identifiant de connexion à un système d’exploitation pour vous.