Privilegios para geodatabases en SQL Server

Los privilegios determinan lo que alguien está autorizado a hacer con los datos y la base de datos. Debe asignar los privilegios según el tipo de trabajo que realiza la persona dentro de la organización. ¿Participa esta persona en la administración de la geodatabase? ¿Necesita editar o crear datos? ¿O solo necesitaría consultar los datos?

Los privilegios de usuario se establecen en diferentes niveles. En esta página se enumeran los privilegios sobre las bases de datos y los datasets de los tipos comunes de usuarios: visores, editores y creadores de datos, así como el administrador de la geodatabase.

Puede utilizar las herramientas de Microsoft SQL Server o sentencias de Transacciones SQL para administrar privilegios de la base de datos del usuario.

Los privilegios de los datasets en las geodatabases se deben otorgar o revocar mediante clientes de ArcGIS y esta labor debe correr a cargo del propietario del dataset.

Nota:

El privilegio CONNECT se otorga en bases de datos al rol de base de datos pública por defecto. Si se revoca este privilegio de la base de datos pública, debe otorgarse explícitamente el privilegio CONNECT a roles o nombres de usuario específicos en las bases de datos.

Los privilegios enumerados en esta página se aplican a SQL Server y a los servicios de base de datos de SQL Server compatibles con ArcGIS.

Privilegios mínimos

Tipo de usuarioPrivilegios de base de datosPrivilegios de datasetNotas

Visor de datos

SELECCIONAR

Si se permite que lean todas las tablas en la base de datos, puede asignar usuarios al rol de base de datos db_datareader; de lo contrario, otorgue SELECT en tablas y vistas específicas.

Editor de datos

  • SELECT, INSERT, UPDATE y DELETE en datasets de otros usuarios
  • EXECUTE en los procedimientos almacenados asociados con los datos que se van a editar

Cuando se usa ArcGIS para asignar los privilegios SELECT, INSERT, UPDATE y DELETE en una tabla o clase de entidad registradas para el versionado tradicional, esos privilegios se otorgan automáticamente en la vista versionada asociada. Dichos privilegios son necesarios para que el usuario pueda editar con una vista SQL y una vista versionada.

Creador de datos

  • CREATE TABLE
  • CREATE PROCEDURE
  • CREATE VIEW
  • Cada usuario debe poseer un esquema con su nombre de usuario o tener permiso de CONTROL sobre este, y el esquema debe ser el predeterminado del usuario.

Los nombres de los esquemas deben coincidir con los nombres de usuario individuales. No se puede usar un solo esquema para todos los creadores de datos. Por ejemplo, el nombre de usuario simon debe poseer o controlar un esquema denominado simon. Si no se cumple este requisito, el usuario no puede crear objetos, como clases de entidad.

Administrador de la geodatabase

El usuario sde solo necesita ser capaz de conectarse a la geodatabase una vez creada o actualizada la geodatabase.

SELECT, INSERT, UPDATE y DELETE en datasets versionados

Se requieren privilegios adicionales para permitir que el usuario sde elimine o vea todas las conexiones en SQL Server, Amazon Relational Database Service (RDS) for SQL Server y Google Cloud SQL for SQL Server.

No es necesario otorgar privilegios adicionales para permitir al usuario sde eliminar conexiones desde un Microsoft Azure SQL Managed Instance.

El usuario sde no puede eliminar conexiones a Azure SQL Database.

Privilegios para crear o actualizar una geodatabase

En la siguiente tabla, se enumeran el usuario y los privilegios que se deben utilizar para crear o actualizar geodatabases en los servicios de base de datos SQL Server y SQL Server:

Tipo de geodatabaseUsuario y privilegios para crear una geodatabaseUsuario y privilegios para actualizar una geodatabase

Geodatabases de esquema sde

El usuario sde necesita los siguientes privilegios:

  • CREATE FUNCTION
  • CREATE PROCEDURE
  • CREATE TABLE
  • CREATE VIEW

El usuario sde debe poseer un esquema con el nombre sde o tener permiso de CONTROL sobre este, y el esquema sde debe ser el esquema predeterminado del usuario sde.

Si las opciones de base de datos READ_COMMITTED_SNAPSHOT y ALLOW_SNAPSHOT_ISOLATION no están establecidas en ON antes de crear la geodatabase, el usuario sde requiere el privilegio ALTER.

En el caso de las geodatabases en Microsoft Azure SQL Database, también se requiere el privilegio VIEW DATABASE STATE.

El usuario sde debe agregarse al rol db_owner en la base de datos que se va a actualizar.

La actualización también puede ser ejecutada en SQL Server por un usuario (distinto de sde) que tenga el rol de base de datos db_owner o el rol de servidor fijo sysadmin. Esto no se aplica a los servicios de base de datos.

Esquema dbo

El usuario dbo ya cuenta con los privilegios requeridos para crear una geodatabase en una base de datos.

El usuario dbo ya cuenta con los privilegios necesarios para realizar una actualización.

De manera alterna, la actualización se puede ejecutar por parte de un usuario que está en el rol de base de datos db_owner.

Privilegios adicionales

Las siguientes funciones precisan privilegios adicionales en la geodatabase:

  • El administrador de la geodatabase (usuario sde) en una geodatabase de esquema sde de SQL Server debe agregarse al rol de servidor fijo processadmin y otorgar privilegios VIEW DEFINITION en la base de datos para eliminar conexiones a geodatabases. La herramienta de geoprocesamiento Crear geodatabase corporativa otorga este rol y los privilegios al usuario sde. Puede revocar este privilegio y quitar el usuario del rol processadmin después de la creación de la geodatabase, pero, si lo hace, el usuario sde no podrá desconectar usuarios de la geodatabase.
  • El usuario sde de Google Cloud SQL for SQL Server y Amazon RDS for SQL Server se debe agregar al rol de servidor fijo processadmin para eliminar las conexiones de la geodatabase.
  • Cualquier usuario que vaya a ser propietario de una columna XML en SQL Server debe tener privilegios REFERENCES para el catálogo de texto completo utilizado para indexar la columna XML.