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:
Esquema | Autenticación | Ventajas | Desventajas |
---|---|---|---|
Dbo (miembro de sysadmin) | Inicio de sesión del sistema operativo o de SQL Server |
|
|
Dbo (asignada a dbo en una base de datos específica) | Inicio de sesión del sistema operativo o de SQL Server |
|
|
Sde | Inicio de sesión de SQL Server |
|
|
Sde | Inicio de sesión del sistema operativo |
|
|
*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.