ver usuarios usuario tipos rol privilegios permisos listar crear asignar sql-server sql-server-2005

sql-server - rol - tipos de usuarios en sql server



Roles, esquemas, usuarios de SQL Server (2)

He estado intentando averiguar por qué SQL Server tiene el esquema db_owner y el db_owner . Esto es muy confuso He estado buscando respuestas y hasta ahora esto es lo que mi entendimiento dice:

  1. Todas las tablas y objetos (como restricciones, etc.) pertenecen a un esquema. DBO es el esquema predeterminado.
  2. Un usuario puede tener permiso para editar cada objeto o el esquema. Un permiso en el esquema extiende el permiso a todos los objetos dentro de ese esquema. Por lo tanto, no tiene que otorgar permiso a cada objeto individual.
  3. Un grupo de roles permisos juntos por conveniencia.

Si algo de esto es incorrecto, hágamelo saber. Pero creo que hasta ahora todo bien. Ahora mis preguntas son:

  1. ¿Qué es exactamente el esquema db_owner como se ve en el cuadro de diálogo "Usuario de la base de datos" de SQL Server Management Studio? Y en el mismo diálogo, define el "Esquema predeterminado" como dbo . ¿Por qué no son los dos lo mismo? Si de forma predeterminada SQL Server usa dbo para crear todos los objetos, ¿de qué sirve db_owner ?
  2. ¿Por qué un usuario querría tener un esquema? Ya estás asignando permisos / roles. ¿Qué db_accessadmin proporciona ser dueño de db_accessadmin ?
  3. ¿Puede dar un ejemplo de cuándo crea objetos bajo el esquema db_owner y el esquema db_accessadmin ? En otras palabras, ¿alguien usa legítimamente esos esquemas?

Estoy citando el siguiente del siguiente enlace.

https://msdn.microsoft.com/en-us/library/bb669061(v=vs.110).aspx

SQL Server se envía con diez esquemas predefinidos que tienen los mismos nombres que los usuarios y roles de base de datos incorporados. Estos existen principalmente por compatibilidad con versiones anteriores. Puede soltar los esquemas que tienen los mismos nombres que los roles de base de datos fijos si no los necesita. No puede soltar los siguientes esquemas:

  • dbo
  • guest
  • sys
  • INFORMATION_SCHEMA

Un esquema de SQL Server es simplemente un contenedor de objetos, como tablas, procedimientos almacenados, etc. Un rol de base de datos es un grupo de principales, como inicios de sesión de Windows, usuarios de servidores sql, etc.

La idea es que pueda tener el rol de decir "TI" y tener todos los usuarios de TI bajo ese rol. Entonces puede tener un esquema llamado "IT" y tener todas las tablas que pertenecen a IT debajo de eso. Fuera de la caja, SQL Server crea esquemas coincidentes para cada usuario y función predeterminados en la base de datos, pero creo que la intención es personalizar esto para que coincida con las necesidades de su organización.

Este artículo tiene más información sobre las diferencias entre propietarios y esquemas. Esta pregunta sobre también puede ser útil.