Una comparación de propietarios de geodatabase en SQL Server

Las geodatabases son una colección de tablas, vistas, funciones y procedimientos almacenados dentro de una base de datos. En geodatabases en una base de datos de Microsoft SQL Server, esta colección de objetos puede ser propiedad de un usuario de base de datos denominado sde o el usuario de base de datos denominado dbo. Sea cual sea el usuario que posee la geodatabase es considerado el administrador de la geodatabase. Como los nombres de usuario y los nombres de esquema deben coincidir en la geodatabase, las geodatabases que son propiedad del usuario sde se denominan geodatabases de esquema sde y las geodatabases que son propiedad del usuario dbo se denominan geodatabases de esquema dbo.

Nota:

Es importante comprender cómo SQL Server administra el acceso a los datos y a otros objetos. Por lo tanto, si no se ha familiarizado con el modelo de seguridad de SQL Server, lea la documentación de Microsoft SQL Server. SQL Server autentica un inicio de sesión al nivel de instancia y autoriza a un usuario correspondiente al nivel de base de datos. Los diferentes privilegios otorgados se pueden aplicar a toda la instancia, a una base de datos o bases de datos específicas o a datos en una base de datos. Esto puede afectar su decisión sobre qué tipo propietario de geodatabase utilizar.

El inicio de sesión con el que se conecta cuando crea la geodatabase determina qué el usuario de la base de datos es el propietario de la geodatabase. Si el inicio de sesión del sistema operativo o el inicio de sesión de SQL Server al que está conectado está asignado al usuario dbo en la base de datos, se crea una geodatabase de esquema dbo. Si el inicio de sesión del sistema operativo o de SQL Server al que está conectado está asignado a un usuario denominado sde en la base de datos, se crea una geodatabase de esquema sde.

El usuario sde

El usuario sde en una base de datos puede asociarse con un inicio de sesión autenticado de SQL Server o un inicio de sesión autenticado del sistema operativo. El usuario sde debe tener autoridad en un esquema denominado sde, y ese esquema debe ser el esquema predeterminado del usuario sde. Al usuario sde también se le deben otorgar privilegios de la base de datos que permitan al usuario crear y administrar la geodatabase.

El usuario dbo

El usuario dbo y su esquema predeterminado existen en todas las bases de datos automáticamente. Los inicios de sesión pueden ser dbo en una base de datos de una de dos maneras:

  • Por crear o convertirse en propietario de una base de datos específica
  • Por ser miembro del rol de servidor fijo sysadmin.

Los inicios de sesión asignados por el usuario dbo en una base de datos específica tienen los mayores privilegios posibles en esa base de datos; por lo tanto, tienen privilegios suficientes para crear y administrar la geodatabase. Los inicios de sesión que se asignan a dbo en una base de datos específica no tienen privilegios elevados en la instancia de SQL Server u otras base de datos, a menos que estos privilegios se concedan explícitamente al inicio de sesión.

Los inicios de sesión que son miembros del rol de servidor fijo sysadmin se asignan a dbo en cada base de datos en la instancia de SQL Server y también tienen los privilegios más altos posibles en toda la instancia de SQL Server. Este tipo de inicios de sesión tienen privilegios suficientes para crear y administrar la geodatabase y pueden crear, modificar, eliminar y administrar otros securables en la instancia.

Todos los objetos de base de datos propiedad del usuario dbo se almacenan en el esquema de dbo.

¿Cuál usuario debería ser el propietario de la geodatabase?

No hay diferencia en el rendimiento o funcionalidad entre los dos tipos de esquemas de geodatabase. Cada uno cuenta con ventajas e inconvenientes. Elija el usuario (y, por consiguiente, un esquema) que mejor se adapte al sistema y modelo de seguridad elegido.

La siguiente es una comparación de los dos tipos de esquema, basada en el tipo de autenticación que utiliza:

EsquemaAutenticaciónVentajasDesventajas

Dbo (miembro de sysadmin)

Inicio de sesión del sistema operativo o de SQL Server

  • Si el administrador de base de datos de SQL Server también actúa como administrador de la geodatabase, podría tener sentido utilizar un esquema dbo para evitar que la misma persona utilice dos inicios de sesión diferentes en función de la tarea que tenga que realizar.
  • Si es necesario tener más de un administrador de la geodatabase, se pueden agregar varios inicio de sesión al rol de servidor fijo sysadmin.
  • El inicio de sesión tiene asociados privilegios elevados sobre todos los securables en la instancia de SQL Server.
  • El inicio de sesión debe crearse y agregarse al rol sysadmin antes de ejecutar la herramienta Crear geodatabase corporativa.
  • Si se utiliza un inicio de sesión local en lugar de un inicio de sesión de dominio, el inicio de sesión solo existe en el servidor en el que SQL Server está instalado. Por lo tanto, los clientes de ArcGIS deben estar instalado en el mismo servidor y todas las tareas de administración de la geodatabase se debe realizar mientras esté conectado como el inicio de sesión local en ese servidor.
  • Las geodatabases de esquema dbo no se admiten en Amazon Relational Database Service (RDS) for SQL Server.

Dbo (asignada a dbo en una base de datos específica)

Inicio de sesión del sistema operativo o de SQL Server

  • El administrador de la geodatabase puede realizar la administración de la geodatabase de la base de datos en la base de datos específica.
  • Los privilegios elevados no se extienden más allá de la base de datos específica.
  • Si se necesitan administradores de la geodatabase adicionales, se pueden colocar otros inicios de sesión en el rol de servidor fijo sysadmin, haciéndolos dbo también en esta base de datos.
  • El usuario tiene privilegios elevados en la base de datos.
  • El inicio de sesión y la base de datos deben crearse antes de ejecutar la herramienta Crear geodatabase corporativa, y el inicio de sesión debe establecerse como el propietario de la base de datos.
  • Si se utiliza un inicio de sesión local en lugar de un inicio de sesión de dominio, el inicio de sesión solo existe en el servidor en el que SQL Server está instalado. Por lo tanto, los clientes de ArcGIS deben estar instalado en el mismo servidor y todas las tareas de administración de la geodatabase se debe realizar mientras esté conectado como el inicio de sesión local en ese servidor.
  • Las geodatabases de esquema dbo no se admiten en Amazon RDS for SQL Server.

Sde

Inicio de sesión de SQL Server

  • El usuario sde solo requiere unos pocos permisos de instrucción dentro de una base de datos específica para administrar la geodatabase.
  • La herramienta Crear geodatabase corporativa permite crear un inicio de sesión de SQL Server, usuario de base de datos y esquema cuando se crea la geodatabase en la base de datos. Como alternativa, el administrador de base de datos puede crear la base de datos, el usuario sde (con los privilegios necesarios) y el esquema sde, y permitir que el usuario sde cree la geodatabase con la herramienta de geoprocesamiento Habilitar geodatabase corporativa.
  • Puede usarse un inicio de sesión de SQL Server sde al crear una geodatabase en Amazon RDS for SQL Server.
  • Se puede asignar solo una única sesión al usuario sde.
  • La instancia de SQL Server debe permitir autenticación de modo mixto.
  • El administrador de base de datos debe ejecutar la herramienta Crear geodatabase corporativa.

Sde

Inicio de sesión del sistema operativo

  • El usuario sde solo requiere unos pocos permisos de instrucción dentro de una base de datos específica para crear y administrar la geodatabase. El administrador de base de datos puede crear la base de datos, el usuario sde (con los privilegios necesarios) y el esquema sde, y permitir que el usuario sde cree la geodatabase con la herramienta de geoprocesamiento Habilitar geodatabase corporativa.
  • Puede asignarse un inicio de dominio existente al usuario sde.
  • Puede utilizarse un inicio de sesión sde autenticado por el sistema operativo en sitios en los que la instancia de SQL Server solo permita autenticación del sistema operativo.
  • Puede requerirse la creación y administración de un inicio de sesión del sistema operativo que no esté asociado directamente con una persona concreta.*
  • La base de datos, el inicio de sesión sde, el usuario y el esquema deben crearse antes de ejecutar la herramienta Crear geodatabase corporativa.
  • Se puede asignar solo una única sesión al usuario sde.
  • Debe iniciar sesión en Windows con el inicio de sesión sde para ejecutar la herramienta Crear geodatabase corporativa.
  • Si se utiliza un inicio de sesión local en lugar de un inicio de sesión de dominio, el inicio de sesión solo existe en el servidor en el que SQL Server está instalado. Por lo tanto, los clientes de ArcGIS deben estar instalado en el mismo servidor y todas las tareas de administración de la geodatabase se debe realizar mientras esté conectado como el inicio de sesión local en ese servidor.

*La mayoría de los inicios de sesión del sistema operativo, especialmente los inicios de sesión de dominio, pertenecen a una persona específica. Esta persona utiliza este inicio de sesión para iniciar sesión en su equipo y acceder a aplicaciones, entre las que se incluye SQL Server. Por lo tanto, esa persona siempre se conectará a la geodatabase como usuario sde. Si la misma persona actúa como administrador de geodatabase y crea datos en la geodatabase, es posible que necesite crear otro inicio de sesión del sistema operativo y asignarlo a un usuario con privilegios inferiores en la base de datos, concediendo básicamente dos inicios de sesión a la persona. Esto implica que tenga que cambiar de inicio de sesión en el equipo en función de la tarea que deba realizar en la geodatabase. Un gran número de sitios evitan crear varios inicios de sesión para la misma persona, ya que esto puede conllevar implicaciones para la seguridad e incrementa la complejidad de la administración de inicios de sesión. Por estos motivos, un usuario sde autenticado por el sistema operativo no es una opción idónea si la misma persona desempeña varios roles en la geodatabase.