Roles del servidor definidos por el usuario en SQL Server 2012
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.
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 gustaMe 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 gustaMe gusta