Funciones de nivel de servidor

Para administrar con facilidad los permisos en el servidor, SQL Server proporciona varias funciones, que son entidades de seguridad que agrupan a otras entidades de seguridad. Las funciones son como los grupos del sistema operativo Microsoft Windows.

Las funciones fijas de servidor se proporcionan por comodidad y por motivos de compatibilidad con versiones anteriores. Se recomienda asignar permisos más concretos siempre que sea posible.

Las funciones de nivel de servidor también se denominan funciones fijas de servidor porque no se pueden crear nuevas funciones de nivel de servidor. Las funciones de nivel de servidor se aplican a todo el servidor en lo que respecta a su ámbito de permisos.

Puede agregar inicios de sesión de SQL Server, cuentas de Windows y grupos de Windows a las funciones de nivel de servidor. Cada miembro de una función fija de servidor puede agregar otros inicios de sesión a esa misma función.

En la tabla siguiente se muestran las funciones de nivel de servidor y sus capacidades.

Nombre de la función de nivel de servidor

Descripción

sysadmin

Los miembros de la función fija de servidor sysadmin pueden realizar cualquier actividad en el servidor.

serveradmin

Los miembros de la función fija de servidor serveradmin pueden cambiar las opciones de configuración en el servidor y cerrar el servidor.

securityadmin

Los miembros de la función fija de servidor securityadmin administran los inicios de sesión y sus propiedades. Administran los permisos de servidor GRANT, DENY y REVOKE. También administran los permisos de base de datos GRANT, DENY y REVOKE. Asimismo, pueden restablecer contraseñas para inicios de sesión de SQL Server.

Nota de seguridadNota de seguridad
La capacidad de conceder acceso al Database Engine (Motor de base de datos) y configurar permisos de usuario permite a la administración de seguridad asignar la mayoría de los permisos de servidor. La función securityadmin se debe tratar como equivalente a la función sysadmin.

processadmin

Los miembros de la función fija de servidor processadmin pueden finalizar los procesos que se ejecutan en una instancia de SQL Server.

setupadmin

Los miembros de la función fija de servidor setupadmin pueden agregar y quitar los servidores vinculados.

bulkadmin

Los miembros de la función fija de servidor bulkadmin pueden ejecutar la instrucción BULK INSERT.

diskadmin

La función fija de servidor diskadmin se utiliza para administrar archivos de disco.

dbcreator

Los miembros de la función fija de servidor dbcreator pueden crear, modificar, quitar y restaurar cualquier base de datos.

public

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

Para obtener información específica sobre los permisos de las funciones de nivel de servidor, vea Permisos de las funciones fijas de servidor (motor de base de datos).

Trabajar con funciones de nivel de servidor

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

Característica

Tipo

Descripción

sp_helpsrvrole (Transact-SQL)

Metadatos

Devuelve una lista de funciones de nivel de servidor.

sp_helpsrvrolemember (Transact-SQL)

Metadatos

Devuelve información acerca de los miembros de una función de nivel de servidor.

sp_srvrolepermission (Transact-SQL)

Metadatos

Muestra los permisos de una función de nivel de servidor.

IS_SRVROLEMEMBER (Transact-SQL)

Metadatos

Indica si un inicio de sesión de SQL Server es miembro de la función de nivel de servidor especificada.

sys.server_role_members (Transact-SQL)

Metadatos

Devuelve una fila por cada miembro de cada función de nivel de servidor.

sp_addsrvrolemember (Transact-SQL)

Comando

Agrega un inicio de sesión como miembro de una función de nivel de servidor.

sp_dropsrvrolemember (Transact-SQL)

Comando

Quita un inicio de sesión de SQL Server o un usuario o grupo de Windows de una función de nivel de servidor.