2009-11-11 11 views

Respuesta

8

Roles sería el camino a seguir aquí. Las funciones se deben usar cada vez que tenga grupos (es decir, depts. En su caso) que necesiten derechos de usuario específicos para las tablas independientemente del esquema en el que se encuentren. Esto evita errores y facilita mucho el trabajo del administrador de BD.

Considere los roles como agrupaciones para usuarios y los derechos asociados para ese grupo de usuarios, mientras que los esquemas son para la agrupación lógica de conjuntos de datos.

Editar basado en comentario de usuario:

Puede, pero para limitar el acceso a una tabla en particular el uso de esquema no es tal vez la mejor manera de pensar en ello. Los esquemas se utilizan para agrupar datos. Entonces, puede tener un esquema de "ventas" que tenga tablas, procedimientos, etc. que el equipo de ventas necesita. Luego puede decir GRANT SELECT ON SCHEMA::sales TO salesRole; donde está usando un esquema como atajo para otorgar permisos a un grupo de usuarios donde cada vendedor le otorgó el rol de SalesRole. Cualquier tabla que luego se cree en el esquema de ventas también será seleccionable por los usuarios con ese rol. Si el equipo de ventas solo usa esta función y no tiene otros permisos, los usuarios no podrán usar una tabla creada en otro esquema. Si eso es lo que quiere decir con "restringir el acceso usando el esquema", entonces sí, pero prefiero considerarlo como el usuario que no tiene derechos otorgados a través de un rol o una concesión explícita. Espero que esto ayude a aclarar.

+0

Entender, gracias. ¿Puedo restringir que un usuario acceda a una tabla en particular solo mediante el uso de Schema? –

0

Puede usar una combinación de ambos. Utiliza el esquema para separar objetos que lógicamente pueden agruparse. Utiliza roles para crear diferentes configuraciones de acceso y otorgar acceso en los esquemas a los roles que ya ha creado (de acuerdo con su lógica comercial).

Cuestiones relacionadas