Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
SQL Server proporciona roles a nivel de servidor para ayudarle a administrar los permisos en 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. (Losroles son como los grupos del sistema operativo Windows).
Se proporcionan roles fijos de servidor para mayor comodidad y compatibilidad con versiones anteriores. Asigne permisos más específicos siempre que sea posible.
SQL Server proporciona nueve roles fijos de servidor. No se pueden cambiar los permisos concedidos a los roles fijos de servidor. A partir de SQL Server 2012, puede crear roles de servidor definidos por el usuario y agregar permisos de nivel de servidor a los roles de servidor definidos por el usuario.
Puede agregar entidades de seguridad a nivel de servidor (inicios de sesión de SQL Server, cuentas de Windows y grupos de Windows) en roles a 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 otros principales de servidor al rol.
Corregidos roles de Server-Level
En la tabla siguiente se muestran los roles fijos de nivel de servidor y sus capacidades.
Rol fijo de nivel de servidor | Descripción |
---|---|
administrador de sistemas | Los miembros del rol fijo de servidor sysadmin pueden realizar cualquier actividad en el servidor. |
administrador de servidores | Los miembros del rol fijo de servidor serveradmin pueden cambiar las opciones de configuración de todo el servidor y apagar el servidor. |
administrador de seguridad | Los miembros del rol de servidor fijo securityadmin administran los inicios de sesión y sus propiedades. Administran los permisos de servidor GRANT, DENY y REVOKE. También pueden conceder, denegar y revocar permisos de nivel de base de datos si tienen acceso a una base de datos. Además, pueden restablecer las contraseñas de los inicios de sesión en SQL Server. ** Nota de seguridad ** La capacidad de conceder acceso al motor de base de datos y configurar permisos de usuario permite al administrador de seguridad asignar la mayoría de los permisos de servidor. El securityadmin rol debe tratarse como equivalente al sysadmin rol. |
administrador de procesos | Los miembros del rol fijo de servidor processadmin pueden finalizar los procesos que se ejecutan en una instancia de SQL Server. |
setupadmin | Los miembros del rol fijo de servidor setupadmin pueden agregar y quitar servidores vinculados mediante instrucciones Transact-SQL. (Se necesita la pertenencia a sysadmin al usar Management Studio). |
bulkadmin | Los miembros del rol fijo de servidor bulkadmin pueden ejecutar la instrucción BULK INSERT. |
administrador de disco | 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. |
pública | Cada inicio de sesión de SQL Server pertenece al rol de servidor público. Cuando un principal del servidor no ha recibido ni se le han denegado permisos específicos en un objeto protegible, el usuario hereda los permisos otorgados al rol público en ese objeto. Asigne solo permisos públicos a cualquier objeto cuando desee que el objeto esté disponible para todos los usuarios. No se puede cambiar la pertenencia a público. Nota: public se implementa de forma diferente a otros roles. Sin embargo, se pueden conceder, denegar o revocar permisos al público. |
Permisos de roles fijos de servidor
Cada rol fijo de servidor cuenta con diversos permisos asignados. Para obtener un gráfico de los permisos asignados a los roles de servidor, consulte Servidor fijo del motor de base de datos y Roles fijos de base de datos.
Importante
El CONTROL SERVER
permiso es similar, pero no idéntico al rol de servidor fijo sysadmin
. Los permisos no implican pertenencias a roles y estas no conceden permisos. (Por ejemplo, CONTROL SERVER
no implica pertenencia al rol fijo de servidor sysadmin
). Sin embargo, a veces es posible actuar en lugar de otros entre roles y permisos equivalentes. La mayoría de los comandos DBCC
y muchos procedimientos del sistema requieren ser miembro del rol de servidor fijo sysadmin
. Para obtener una lista de los procedimientos almacenados del sistema 171 que requieren sysadmin
pertenencia, consulte la siguiente entrada de blog de Andreas Wolter CONTROL SERVER frente a sysadmin/sa: permisos, procedimientos del sistema, DBCC, creación automática de esquemas y escalación de privilegios: advertencias.
Server-Level Permisos
Solo se pueden agregar a los roles de servidor definidos por el usuario los permisos de nivel de servidor. Para obtener una lista de los permisos en el nivel de servidor, ejecute la siguiente instrucción: Los permisos en el nivel de servidor son:
SELECT * FROM sys.fn_builtin_permissions('SERVER') ORDER BY permission_name;
Para obtener más información sobre los permisos, vea Permisos (motor de base de datos) y sys.fn_builtin_permissions (Transact-SQL).
Trabajar con roles de Server-Level
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 especificado a nivel de servidor. |
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. Obsolescente. 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 a nivel de servidor. Obsolescente. Utilice ALTER SERVER ROLE en su lugar. |
CREATE SERVER ROLE (Transact-SQL) | Comando | Crea un rol de servidor definido por el usuario. |
ALTERAR ROL DE SERVIDOR (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 al rol de servidor. |
Véase también
Roles de nivel de base de datos
Vistas de catálogo de seguridad (Transact-SQL)
Funciones de seguridad (Transact-SQL)
Proteger SQL Server
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)
Crear un rol de servidor