Una comparación de propietarios de geodatabase en SQL Server

En geodatabases en una base de datos Microsoft SQL Server, las tablas, vistas, funciones y procedimientos almacenados que componen una geodatabase pueden ser propiedad de un usuario de base de datos denominado sde o el usuario dbo de la base de datos. 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 de 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 bases 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.

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 se debe establecer como propietario de la base de datos, lo que significa que debe crear el inicio de sesión y la base de datos con herramientas de base de datos y no puede depender de la herramienta Crear geodatabase corporativa para crearlas.
  • Las geodatabases de esquema dbo no son compatibles con los servicios de base de datos basados en la nube.

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.
  • Una geodatabase de esquema sde es útil si el administrador de base de datos y el administrador de la geodatabase no son la misma persona. El administrador de base de datos puede utilizar herramientas de base de datos para crear la base de datos, el usuario sde (con los privilegios necesarios) y el esquema sde, y el usuario sde puede crear la geodatabase con la herramienta de geoprocesamiento Habilitar geodatabase corporativa.
  • Se puede utilizar un inicio de sesión sde de SQL Server al crear una geodatabase en servicios de base de datos basados en la nube.
  • Se puede asignar solo una única sesión al usuario sde.
  • La instancia de SQL Server debe permitir autenticación de modo mixto.

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.
  • Una geodatabase de esquema sde es útil si el administrador de base de datos y el administrador de la geodatabase no son la misma persona. El administrador de base de datos puede utilizar herramientas de base de datos para crear la base de datos, el usuario sde (con los privilegios necesarios) y el esquema sde, y el usuario sde puede crear 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 la autenticación del sistema operativo.
  • Se puede asignar solo una única sesión al usuario sde.
  • Si desea utilizar la herramienta Crear geodatabase corporativa para crear la geodatabase, primero debe crear el usuario sde, ya que la herramienta no asignará al usuario sde un inicio de sesión del sistema operativo por usted.