Roles de nivel de servidorServer-Level Roles

SE APLICA A: síSQL Server noAzure SQL Database noAzure SQL Data Warehouse síAlmacenamiento de datos paralelos APPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse yesParallel Data Warehouse

SQL ServerSQL Server proporciona roles de nivel de servidor para ayudarle a administrar los permisos de un servidor.provides server-level roles to help you manage the permissions on a server. Estos roles son entidades de seguridad que agrupan otras entidades de seguridad.These roles are security principals that group other principals. Los roles de nivel de servidor se aplican a todo el servidor en lo que respecta a su ámbito de permisos.Server-level roles are server-wide in their permissions scope. (Losroles son como los grupos del sistema operativo Windows).(Roles are like groups in the Windows operating system.)

Los roles fijos de servidor se proporcionan por comodidad y compatibilidad con versiones anteriores.Fixed server roles are provided for convenience and backward compatibility. Siempre que sea posible, asigne permisos más específicos.Assign more specific permissions whenever possible.

SQL ServerSQL Server proporciona nueve roles fijos de servidor.provides nine fixed server roles. Los permisos que se conceden a los roles fijos de servidor (a excepción de public) no se pueden modificar.The permissions that are granted to the fixed server roles (except public) cannot be changed. A partir de SQL Server 2012 (11.x)SQL Server 2012 (11.x), puede crear roles de servidor definidos por el usuario y agregarles permisos de nivel de servidor.Beginning with SQL Server 2012 (11.x)SQL Server 2012 (11.x), you can create user-defined server roles and add server-level permissions to the user-defined server roles.

Puede agregar entidades de seguridad de nivel de servidor (inicios de sesión de SQL ServerSQL Server, cuentas de Windows y grupos de Windows) a los roles de nivel de servidor.You can add server-level principals ( SQL ServerSQL Server logins, Windows accounts, and Windows groups) into server-level roles. Cada miembro de un rol fijo de servidor puede agregar otros inicios de sesión a ese mismo rol.Each member of a fixed server role can add other logins to that same role. Los miembros de roles de servidor definidos por el usuario no pueden agregar otras entidades de seguridad de servidor al rol.Members of user-defined server roles cannot add other server principals to the role.

Nota

Los permisos de nivel de servidor no están disponible en SQL Database ni en SQL Data Warehouse.Server-level permissions are not available in SQL Database or SQL Data Warehouse. Para más información sobre SQL Database, vea Control y concesión de acceso a bases de datos.For more information about SQL Database, see Controlling and granting database access.

Roles fijos de nivel de servidorFixed Server-Level Roles

En la tabla siguiente se muestran los roles fijos de nivel de servidor y sus capacidades.The following table shows the fixed server-level roles and their capabilities.

Rol fijo de nivel de servidorFixed server-level role DescripciónDescription
sysadminsysadmin Los miembros del rol fijo de servidor sysadmin pueden realizar cualquier actividad en el servidor.Members of the sysadmin fixed server role can perform any activity in the server.
serveradminserveradmin Los miembros del rol fijo de servidor serveradmin pueden cambiar opciones de configuración en el servidor y cerrar el servidor.Members of the serveradmin fixed server role can change server-wide configuration options and shut down the server.
securityadminsecurityadmin Los miembros del rol fijo de servidor securityadmin administran los inicios de sesión y sus propiedades.Members of the securityadmin fixed server role manage logins and their properties. Pueden administrar los permisos de nivel de servidor GRANT, DENY, y REVOKE.They can GRANT, DENY, and REVOKE server-level permissions. También pueden administrar los permisos de nivel de base de datos GRANT, DENY y REVOKE si tienen acceso a una base de datos.They can also GRANT, DENY, and REVOKE database-level permissions if they have access to a database. Asimismo, pueden restablecer contraseñas para inicios de sesión de SQL ServerSQL Server .Additionally, they can reset passwords for SQL ServerSQL Server logins.

IMPORTANTE: La capacidad de conceder acceso a Motor de base de datosDatabase Engine y configurar los permisos de usuario permite que el administrador de seguridad asigne la mayoría de los permisos de servidor.IMPORTANT: The ability to grant access to the Motor de base de datosDatabase Engine and to configure user permissions allows the security admin to assign most server permissions. El rol securityadmin se debe tratar como equivalente al rol sysadmin .The securityadmin role should be treated as equivalent to the sysadmin role.
processadminprocessadmin Los miembros del rol fijo de servidor processadmin pueden finalizar los procesos que se ejecutan en una instancia de SQL ServerSQL Server.Members of the processadmin fixed server role can end processes that are running in an instance of SQL ServerSQL Server.
setupadminsetupadmin Los miembros del rol fijo de servidor setupadmin pueden agregar y quitar servidores vinculados mediante instrucciones de Transact-SQLTransact-SQL.Members of the setupadmin fixed server role can add and remove linked servers by using Transact-SQLTransact-SQL statements. (Es necesaria la pertenencia a sysadmin cuando se usa Management StudioManagement Studio).(sysadmin membership is needed when using Management StudioManagement Studio.)
bulkadminbulkadmin Los miembros del rol fijo de servidor bulkadmin pueden ejecutar la instrucción BULK INSERT.Members of the bulkadmin fixed server role can run the BULK INSERT statement.
diskadmindiskadmin El rol fijo de servidor diskadmin se usa para administrar archivos de disco.The diskadmin fixed server role is used for managing disk files.
dbcreatordbcreator Los miembros del rol fijo de servidor dbcreator pueden crear, modificar, quitar y restaurar cualquier base de datos.Members of the dbcreator fixed server role can create, alter, drop, and restore any database.
publicpublic Cada inicio de sesión de SQL ServerSQL Server pertenece al rol de servidor public.Every SQL ServerSQL Server login belongs to the public server role. 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 pública para ese elemento.When a server principal has not been granted or denied specific permissions on a securable object, the user inherits the permissions granted to public on that object. Solo asigne los permisos públicos en cualquier objeto cuando desee que el objeto esté disponible para todos los usuarios.Only assign public permissions on any object when you want the object to be available to all users. No puede cambiar la pertenencia en public.You cannot change membership in public.

Nota: El rol public se implementa de manera diferente que otros roles y los permisos se pueden conceder, denegar o revocar de los roles fijos de servidor públicos.Note: public is implemented differently than other roles, and permissions can be granted, denied, or revoked from the public fixed server roles.

Permisos de los roles fijos de servidorPermissions of Fixed Server Roles

Cada rol fijo de servidor cuenta con diversos permisos asignados.Each fixed server role has certain permissions assigned to it. El gráfico siguiente muestra los permisos asignados a los roles de servidor.The following graphic shows the permissions assigned to the server roles.
fixed_server_role_permissions

Importante

El permiso CONTROL SERVER es similar, pero no idéntico al rol fijo de servidor sysadmin .The CONTROL SERVER permission is similar but not identical to the sysadmin fixed server role. Los permisos no conllevan la pertenencia a los roles y la pertenencia a los roles no otorga permisos.Permissions do not imply role memberships and role memberships do not grant permissions. (Por ejemplo,(E.g. CONTROL SERVER no implica la pertenencia al rol fijo de servidor. sysadmin). Sin embargo, en ocasiones, es posible hacer suplantaciones entre roles y permisos equivalentes.CONTROL SERVER does not imply membership in the sysadmin fixed server role.) However, it is sometimes possible to impersonate between roles and equivalent permissions. La mayoría de los comandos DBCC y muchos procedimientos del sistema necesitan pertenencia al rol fijo de servidor sysadmin .Most DBCC commands and many system procedures require membership in the sysadmin fixed server role. Para obtener una lista de 171 procedimientos almacenados del sistema que requieren la pertenencia a sysadmin , vea la siguiente publicación del blog de Andreas Wolter CONTROL SERVER vs. sysadmin/sa: permissions, system procedures, DBCC, automatic schema creation and privilege escalation - caveats (CONTROL SERVER frente a administradores del sistema: permisos, procedimientos del sistema, DBCC, creación automática de esquemas y escalación de privilegios - advertencias).For a list of 171 system stored procedures that require sysadmin membership, see the following blog post by Andreas Wolter CONTROL SERVER vs. sysadmin/sa: permissions, system procedures, DBCC, automatic schema creation and privilege escalation - caveats.

Permisos de nivel de servidorServer-Level Permissions

Solo se pueden agregar a los roles de servidor definidos por el usuario los permisos de nivel de servidor.Only server-level permissions can be added to user-defined server roles. Para obtener una lista de los permisos en el nivel de servidor, ejecute la siguiente instrucción:To list the server-level permissions, execute the following statement. Los permisos en el nivel de servidor son:The server-level permissions are:

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).For more information about permissions, see Permissions (Database Engine) and sys.fn_builtin_permissions (Transact-SQL).

Trabajar con roles de nivel de servidorWorking with Server-Level Roles

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.The following table explains the commands, views, and functions that you can use to work with server-level roles.

CaracterísticaFeature TipoType DescripciónDescription
sp_helpsrvrole (Transact-SQL)sp_helpsrvrole (Transact-SQL) MetadatosMetadata Devuelve una lista de roles de nivel de servidor.Returns a list of server-level roles.
sp_helpsrvrolemember (Transact-SQL)sp_helpsrvrolemember (Transact-SQL) MetadatosMetadata Devuelve información acerca de los miembros de un rol de nivel de servidor.Returns information about the members of a server-level role.
sp_srvrolepermission (Transact-SQL)sp_srvrolepermission (Transact-SQL) MetadatosMetadata Muestra los permisos de un rol de nivel de servidor.Displays the permissions of a server-level role.
IS_SRVROLEMEMBER (Transact-SQL)IS_SRVROLEMEMBER (Transact-SQL) MetadatosMetadata Indica si un inicio de sesión de SQL ServerSQL Server es miembro del rol de nivel de servidor especificado.Indicates whether a SQL ServerSQL Server login is a member of the specified server-level role.
sys.server_role_members (Transact-SQL)sys.server_role_members (Transact-SQL) MetadatosMetadata Devuelve una fila por cada miembro de cada rol de nivel de servidor.Returns one row for each member of each server-level role.
sp_addsrvrolemember (Transact-SQL)sp_addsrvrolemember (Transact-SQL) ComandoCommand Agrega un inicio de sesión como miembro de un rol de nivel de servidor.Adds a login as a member of a server-level role. Obsoleto.Deprecated. Utilice ALTER SERVER ROLE en su lugar.Use ALTER SERVER ROLE instead.
sp_dropsrvrolemember (Transact-SQL)sp_dropsrvrolemember (Transact-SQL) ComandoCommand Quita un inicio de sesión de SQL ServerSQL Server o un usuario o grupo de Windows de un rol de nivel de servidor.Removes a SQL ServerSQL Server login or a Windows user or group from a server-level role. Obsoleto.Deprecated. Utilice ALTER SERVER ROLE en su lugar.Use ALTER SERVER ROLE instead.
CREATE SERVER ROLE (Transact-SQL)CREATE SERVER ROLE (Transact-SQL) ComandoCommand Crea un rol de servidor definido por el usuario.Creates a user-defined server role.
ALTER SERVER ROLE (Transact-SQL)ALTER SERVER ROLE (Transact-SQL) ComandoCommand Cambia la pertenencia de un rol de servidor o cambia el nombre de un rol de servidor definido por el usuario.Changes the membership of a server role or changes name of a user-defined server role.
DROP SERVER ROLE (Transact-SQL)DROP SERVER ROLE (Transact-SQL) ComandoCommand Quita un rol de servidor definido por el usuario.Removes a user-defined server role.
IS_SRVROLEMEMBER (Transact-SQL)IS_SRVROLEMEMBER (Transact-SQL) FunciónFunction Determina la pertenencia del rol de servidor.Determines membership of server role.

Consulte tambiénSee Also

Roles de nivel de base de datos Database-Level Roles
Vistas de catálogo de seguridad (Transact-SQL) Security Catalog Views (Transact-SQL)
Funciones de seguridad (Transact-SQL) Security Functions (Transact-SQL)
Proteger SQL Server Securing SQL Server
GRANT (permisos de entidad de seguridad de servidor de Transact-SQL) GRANT Server Principal Permissions (Transact-SQL)
REVOKE (permisos de entidad de seguridad de servidor de Transact-SQL) REVOKE Server Principal Permissions (Transact-SQL)
DENY (permisos de entidad de seguridad de servidor de Transact-SQL) DENY Server Principal Permissions (Transact-SQL)
Crear un rol de servidorCreate a Server Role