Roles de nivel de servidor

SQL Server proporciona roles de nivel de servidor para ayudarle a administrar los permisos de un servidor. Estos roles son entidades de seguridad que agrupan otras entidades de seguridad. Los roles de nivel de servidor se aplican a todo el servidor en lo que respecta a su ámbito de permisos. (Los roles son como los grupos del sistema operativo Windows.)

Los roles fijos de servidor se proporcionan por comodidad y compatibilidad con versiones anteriores. Siempre que sea posible, asigne permisos más específicos.

SQL Server proporciona nueve roles fijos de servidor. Los permisos que se conceden a los roles fijos de servidor no se pueden modificar. A partir de SQL Server 2012, puede crear roles de servidor definidos por el usuario y agregarles permisos de nivel de servidor.

Puede agregar entidades de seguridad a nivel de servidor (inicios de sesión de SQL Server, cuentas de Windows y grupos de Windows) a los roles de nivel de servidor. Cada miembro de un rol fijo de servidor puede agregar otros inicios de sesión a ese mismo rol. Los miembros de roles de servidor definidos por el usuario no pueden agregar otras entidades de seguridad de servidor al rol.

Roles fijos de nivel de servidor

En la tabla siguiente se muestran los roles fijos de nivel de servidor y sus capacidades.

Rol fijo de nivel de servidor

Descripción

sysadmin

Los miembros del rol fijo de servidor sysadmin pueden realizar cualquier actividad en el servidor.

serveradmin

Los miembros del rol fijo de servidor serveradmin pueden cambiar las opciones de configuración del servidor y apagarlo.

securityadmin

Los miembros del rol fijo de servidor securityadmin administran los inicios de sesión y sus propiedades. Administran los permisos de servidor GRANT, DENY y REVOKE. También pueden administrar los permisos de nivel de base de datos GRANT, DENY y REVOKE si tienen acceso a una base de datos. Asimismo, pueden restablecer las contraseñas para los inicios de sesión de SQL Server.

Nota de seguridadNota de seguridad

La capacidad de conceder acceso a Motor de base de datos y configurar los permisos de usuario permite que el administrador de seguridad asigne la mayoría de los permisos de servidor. El rol securityadmin se debe tratar como equivalente al rol sysadmin.

processadmin

Los miembros del rol fijo de servidor processadmin pueden finalizar los procesos que se ejecuten en una instancia de SQL Server.

setupadmin

Los miembros del rol fijo de servidor setupadmin pueden agregar y quitar servidores vinculados mediante instrucciones de Transact-SQL. (Es necesaria la pertenencia a sysadmin cuando se utiliza Management Studio).

bulkadmin

Los miembros del rol fijo de servidor bulkadmin pueden ejecutar la instrucción BULK INSERT.

diskadmin

El rol fijo de servidor diskadmin se usa para administrar archivos de disco.

dbcreator

Los miembros del rol fijo de servidor dbcreator pueden crear, modificar, quitar y restaurar cualquier base de datos.

public

Cada inicio de sesión de SQL Server pertenece al rol de servidor public. Cuando a una entidad de seguridad de servidor no se le han concedido ni denegado permisos específicos para un objeto protegible, el usuario hereda los permisos concedidos al rol public para ese objeto. Solo asigne permisos públicos en cualquier objeto cuando desee que el objeto esté disponible para todos los usuarios. No puede cambiar la pertenencia en public.

[!NOTA]

public se implementa de manera diferente que otros roles. Sin embargo, se pueden conceder, denegar o revocar permisos desde public.

Permisos de nivel de servidor

Solo se pueden agregar a los roles de servidor definidos por el usuario los permisos de nivel de servidor. Para enumerar los permisos de nivel de servidor, ejecute la instrucción siguiente. Los permisos de nivel de servidor son:

SELECT * FROM sys.fn_builtin_permissions('SERVER') ORDER BY permission_name;

Para obtener más información acerca de los permisos, vea Permisos (motor de base de datos) y sys.fn_builtin_permissions (Transact-SQL).

Trabajar con roles de nivel de servidor

En la tabla siguiente se explican los comandos, las vistas y las funciones que se pueden utilizar para trabajar con roles de nivel de servidor.

Característica

Tipo

Descripción

sp_helpsrvrole (Transact-SQL)

Metadatos

Devuelve una lista de roles de nivel de servidor.

sp_helpsrvrolemember (Transact-SQL)

Metadatos

Devuelve información acerca de los miembros de un rol de nivel de servidor.

sp_srvrolepermission (Transact-SQL)

Metadatos

Muestra los permisos de un rol de nivel de servidor.

IS_SRVROLEMEMBER (Transact-SQL)

Metadatos

Indica si un inicio de sesión de SQL Server es miembro del rol de nivel de servidor especificado.

sys.server_role_members (Transact-SQL)

Metadatos

Devuelve una fila por cada miembro de cada rol de nivel de servidor.

sp_addsrvrolemember (Transact-SQL)

Comando

Agrega un inicio de sesión como miembro de un rol de nivel de servidor. Desusado. Utilice ALTER SERVER ROLE en su lugar.

sp_dropsrvrolemember (Transact-SQL)

Comando

Quita un inicio de sesión de SQL Server o un usuario o grupo de Windows de un rol de nivel de servidor. Desusado. Utilice ALTER SERVER ROLE en su lugar.

CREATE SERVER ROLE (Transact-SQL)

Comando

Crea un rol de servidor definido por el usuario.

ALTER SERVER ROLE (Transact-SQL)

Comando

Cambia la pertenencia de un rol de servidor o cambia el nombre de un rol de servidor definido por el usuario.

DROP SERVER ROLE (Transact-SQL)

Comando

Quita un rol de servidor definido por el usuario.

IS_SRVROLEMEMBER (Transact-SQL)

Función

Determina la pertenencia del rol de servidor.

Vea también

Referencia

Roles de nivel de base de datos

Vistas de catálogo de seguridad (Transact-SQL)

Funciones de seguridad (Transact-SQL)

GRANT (permisos de entidad de seguridad de servidor de Transact-SQL)

REVOKE (permisos de entidad de seguridad de servidor de Transact-SQL)

DENY (permisos de entidad de seguridad de servidor de Transact-SQL)

Conceptos

Proteger SQL Server

Crear un rol de servidor