locked
Permisos a vistas bajo un esquema RRS feed

  • Pregunta

  • En un SS2012

    Necesito dar permisos de select a toda las vistas del esquema TEST.

    Debo ir vista por vista ? otorgandole dicho permiso ?


    DBA SQL Server Santiago/Chile

    jueves, 29 de octubre de 2015 21:26

Respuestas

  • Si concedes permisos sobre el propio esquema, automáticamente los heredan todos los objetos que hay en el esquema. Suponiendo que tengas un esquema exclusivo solo para esas vistas, puede valerte esto:

    GRANT SELECT on SCHEMA::NombreDelEsquema TO nombreDeUsuario

    jueves, 29 de octubre de 2015 21:35

Todas las respuestas

  • Si concedes permisos sobre el propio esquema, automáticamente los heredan todos los objetos que hay en el esquema. Suponiendo que tengas un esquema exclusivo solo para esas vistas, puede valerte esto:

    GRANT SELECT on SCHEMA::NombreDelEsquema TO nombreDeUsuario

    jueves, 29 de octubre de 2015 21:35
  • Al darle permisos al esquema para Select tendra permisos de select a las tablas, solo quiero a las vistas, deberia darle permisos a cada vista entonces ?

    Saludos.


    DBA SQL Server Santiago/Chile

    viernes, 30 de octubre de 2015 17:54
  • Efectivamente, si en el mismo esquema tienes tablas y vistas, al conceder el permiso de Select afectaría a ambas. Cuando se desea controlar permisos a través del esquema, típicamente se crea un esquema distinto para cada grupo de objetos que deba tener permisos diferentes.

    Si esto no es viable, entonces hay que rebajarse a asignar los permisos a cada objeto, uno por uno. Esto es un poco pesado si lo haces por código escribiendo los GRANT (a no ser que uses un cursor junto con sql dinámico para generar las sentencias). Pero en cambio es bastante fácil si lo haces en la interfaz gráfica de SSMS, ya que puedes seleccionar "todos los objetos del tipo...", escoger Vistas, y ponerles la X a todas y luego marcar el permiso de Select.

    viernes, 30 de octubre de 2015 19:53