Skip to main content

Privilèges pour les géodatabases dans SQL Server

Les privilèges déterminent les opérations qu’une personne est autorisée à réaliser avec les données et la base de données. Les privilèges doivent être attribués selon le type de travail que la personne effectue dans l’organisation. Cette personne a-t-elle un rôle dans l’administration de la géodatabase ? Cette personne doit-elle modifier ou créer des données ? Ou cette personne a-t-elle seulement besoin d’effectuer des requêtes sur les données ?

Les privilèges utilisateur sont définis à différents niveaux. Cette page présente les privilèges de bases de données et de jeux de données requis pour les types courants d’utilisateurs : visualiseurs de données, éditeurs de données, créateurs de données et administrateur de géodatabase.

Vous pouvez utiliser des outils Microsoft SQL Server ou des instructions Transact SQL pour gérer les privilèges liés aux bases de données utilisateur.

Les privilèges sur les jeux de données de géodatabases doivent être octroyés ou révoqués à l’aide d’ArcGIS. Le propriétaire du jeu de données doit se charger de cette opération.

Remarque :

Le privilège CONNECT est accordé sur les bases de données au rôle de base de données public par défaut. Si vous révoquez ce privilège du rôle public, vous devez accorder explicitement le privilège CONNECT sur les bases de données à des rôles ou des identifiants de connexion spécifiques.

Les privilèges répertoriés dans cette page s’appliquent à SQL Server et aux services de base de données SQL Server pris en charge par ArcGIS.

Privilèges minimaux

Type d’utilisateur

Privilèges de base de données

Privilèges de jeu de données

Remarques

Visualiseur de données

SELECT

Si vous êtes autorisé à lire toutes les tables de la base de données, vous pouvez attribuer le rôle de base de données db_datareader à des utilisateurs. Sinon, accordez le privilège SELECT sur des tables et des vues spécifiques.

Editeur de données

  • SELECT, INSERT, UPDATE et DELETE dans les jeux de données d’autres utilisateurs

  • EXECUTE sur les procédures stockées associées aux données à mettre à jour

Lorsque vous utilisez ArcGIS pour accorder les privilèges SELECT, INSERT, UPDATE et DELETE sur une table ou une classe d’entités inscrite pour le versionnement traditionnel, ces privilèges sont accordés automatiquement dans la vue versionnée associée. Pour effectuer une mise à jour avec une vue versionnée et SQL, l’utilisateur doit détenir ces privilèges.

Créateur de données

  • CREATE TABLE

  • CREATE PROCEDURE

  • CREATE VIEW

  • Chaque utilisateur doit posséder l’autorisation CONTROL ou en disposer dans un schéma dont le nom est identique au nom d’utilisateur et le schéma doit correspondre au schéma par défaut de l’utilisateur.

Le nom des structures doit correspondre au nom de chaque utilisateur. Vous ne pouvez pas utiliser une seule structure pour tous les créateurs de données. Par exemple, le nom d’utilisateur simon doit posséder ou contrôler une structure nommée simon. Si ce critère n’est pas rempli, l’utilisateur ne peut pas créer d’objets tels que des classes d’entités.

Administrateur de géodatabases

L’utilisateur sde doit seulement être en mesure de se connecter à la géodatabase une fois celle-ci créée ou mise à niveau.

SELECT, INSERT, UPDATE et DELETE dans les jeux de données versionnés

Des privilèges supplémentaires sont nécessaires pour que l’utilisateur sde puisse supprimer ou afficher toutes les connexions dans SQL Server, Amazon Relational Database Service (RDS) for SQL Server et Google Cloud SQL for SQL Server.

Aucun privilège supplémentaire n’est nécessaire pour que l’utilisateur sde puisse supprimer des connexions depuis Microsoft Azure SQL Managed Instance.

Privilèges pour créer ou mettre à niveau une géodatabase

Le tableau suivant répertorie l’utilisateur et les privilèges que vous devez utiliser pour créer ou mettre à niveau des géodatabases dans SQL Server et les services de base de données SQL Server :

Type de géodatabase

Utilisateur et privilèges pour créer une géodatabase

Utilisateur et privilèges pour mettre à niveau une géodatabase

Géodatabase de structure sde

L'utilisateur sde a besoin des privilèges suivants :

  • CREATE FUNCTION

  • CREATE PROCEDURE

  • CREATE TABLE

  • CREATE VIEW

L’utilisateur sde doit posséder l’autorisation CONTROL ou en disposer sur un schéma nommé sde, et le schéma sde doit être le schéma par défaut de l’utilisateur sde.

Si les options de base de données READ_COMMITTED_SNAPSHOT et ALLOW_SNAPSHOT_ISOLATION ne sont pas définies sur ON avant la création de la géodatabase, l’utilisateur sde requiert le privilège ALTER.

Le privilège VIEW DATABASE STATE est également requis pour les géodatabases dans Microsoft Azure SQL Database.

L'utilisateur sde doit être ajouté au rôle db_owner dans la base de données à mettre à niveau.

La mise à niveau peut également être exécutée dans SQL Server par un utilisateur (autre que sde) qui appartient au rôle de base de données db_owner ou au rôle serveur fixe sysadmin. Cela ne s’applique pas aux services de base de données.

Structure dbo

L'utilisateur dbo dispose déjà des privilèges requis pour créer une géodatabase dans une base de données.

L'utilisateur dbo dispose déjà des privilèges requis pour mettre à niveau une géodatabase.

La mise à niveau peut également être exécutée par un utilisateur associé au rôle de base de données db_owner.

Privilèges supplémentaires

Des privilèges supplémentaires sont requis pour les fonctionnalités suivantes dans la géodatabase :

  • L’administrateur de la géodatabase (l’utilisateur sde) dans une géodatabase à schéma sde dans SQL Server doit être ajouté au rôle serveur fixe processadmin et disposer du privilège VIEW DEFINITION sur la base de données pour pouvoir supprimer les connexions à une géodatabase. L'outil de géotraitement Créer la géodatabase d'entreprise octroie ce rôle et ces privilèges à l'utilisateur sde. Vous pouvez révoquer ce privilège et supprimer l’utilisateur du rôle processadmin une fois la géodatabase créée mais, dans ce cas, l’utilisateur sde ne pourra pas déconnecter les utilisateurs de la géodatabase.

  • L’utilisateur sde dans Google Cloud SQL for SQL Server et Amazon RDS for SQL Server doit être ajouté au rôle serveur fixe processadmin pour pouvoir supprimer les connexions à une géodatabase.

  • L’utilisateur sde dans Microsoft Azure SQL Database doit disposer du privilège KILL DATABASE CONNECTION pour pouvoir supprimer les connexions à une géodatabase.

  • Pour que les propriétaires des données puissent afficher une liste d’utilisateurs lorsqu’ils attribuent des privilèges sur leurs jeux de données, l’utilisateur sde dans les géodatabases à schéma sde doit disposer du privilège VIEW DEFINITION sur la base de données. Dans les géodatabases à schéma dbo, ce privilège est attribué automatiquement à l’utilisateur dbo.

  • Des privilèges supplémentaires peuvent être requis pour ArcGIS Monitor pour l’accès à la géodatabase et sa surveillance. Reportez-vous à la rubrique Register SQL Server databases pour plus d’informations.