Saltar al contenido

Roles del servidor definidos por el usuario en SQL Server 2012

23/01/2013

Los roles de servidor en SQL Server son una herramienta fundamental para administrar la seguridad de tareas que se realizan a nivel del servidor y sin tener acceso a las bases de datos de los usuarios. Tradicionalmente estos roles eran fijos y con permisos predeterminados, hasta la aparición de SQL Server 2012. Con esta nueva versión podemos ahora definir nuestros propios roles de servidor, asignarle los permisos apropiados e incorporar logins dentro de estos roles.

Les presento a continuación una serie de ejemplos simples de como implementar este tipo de roles:

Para crear un rol del servidor:

USE master
CREATE SERVER ROLE [RolServidor]

Para incorporar un nuevo usuario al rol:

— para un login de Windows
ALTER SERVER ROLE [RolServidor] ADD   MEMBER [dominio\usuario]

— para un login de SQL Server
ALTER SERVER ROLE [RolServidor] ADD   MEMBER SqlLogin 

Para obtener una lista de todos los permisos a nivel de servidor que puedo asignar a un rol:

SELECT * FROM sys.fn_builtin_permissions(‘SERVER’) ORDER BY permission_name

Y finalmente para asignar permisos a un rol:

GRANT CONNECT SQL TO [RolServidor]  
GRANT VIEW ANY DATABASE TO [RolServidor]
GRANT VIEW SERVER STATE TO [RolServidor]
GRANT ALTER TRACE TO [RolServidor]

Para descubrir otras nuevas características de SQL server 2012 les recomiendo este post.

4 comentarios
  1. ALEX FRANCISCO VILLALVA VALLE permalink

    hola disculpa una pregunta y para poder ver un listado de todos los roles que le podemos asignar a un usuario…espero su respuesta gracias por su atención…

    Me gusta

    • Hola! Para ver una lista de todos los roles existentes a nivel de servidor y que se pueden asignar a los logins te recomiendo este comando:

      SELECT *
      FROM sys.server_principals
      WHERE type = ‘R’

      Si se trata de los roles de bases de datos que existen en cada una de ellas, este comando te va a ayudar:

      SELECT Name, uid isapprole
      FROM sysusers
      WHERE issqlrole = 1 or isapprole = 1

      Me gusta

Trackbacks & Pingbacks

  1. Roles del servidor definidos por el usuario en SQL Server 2012 « DbRunas – Noticias y Recursos sobre Bases de Datos
  2. Todo lo nuevo de SQL Server 2012 (recopilación) | Horacio A. Gonzalez

Deja un comentario