ALTER SERVER ROLE (Transact-SQL)ALTER SERVER ROLE (Transact-SQL)

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

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. No se puede cambiar el nombre de los roles fijos de servidor.Fixed server roles cannot be renamed.

Icono de vínculo de tema Convenciones de sintaxis de Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxisSyntax

-- Syntax for SQL Server  
  
ALTER SERVER ROLE server_role_name   
{  
    [ ADD MEMBER server_principal ]  
  | [ DROP MEMBER server_principal ]  
  | [ WITH NAME = new_server_role_name ]  
} [ ; ]  
-- Syntax for Parallel Data Warehouse  
  
ALTER SERVER ROLE  server_role_name  ADD MEMBER login;  
  
ALTER SERVER ROLE  server_role_name  DROP MEMBER login;  

ArgumentosArguments

server_role_nameserver_role_name
Nombre del rol de servidor que se va a cambiar.Is the name of the server role to be changed.

ADD MEMBER server_principalADD MEMBER server_principal
Agrega la entidad de seguridad del servidor especificada al rol de servidor.Adds the specified server principal to the server role. server_principal puede ser un inicio de sesión o un rol de servidor definido por el usuario.server_principal can be a login or a user-defined server role. server_principal no puede ser un rol fijo de servidor, un rol de base de datos ni sa.server_principal cannot be a fixed server role, a database role, or sa.

DROP MEMBER server_principalDROP MEMBER server_principal
Quita la entidad de seguridad del servidor especificada del rol de servidor.Removes the specified server principal from the server role. server_principal puede ser un inicio de sesión o un rol de servidor definido por el usuario.server_principal can be a login or a user-defined server role. server_principal no puede ser un rol fijo de servidor, un rol de base de datos ni sa.server_principal cannot be a fixed server role, a database role, or sa.

WITH NAME = new_server_role_nameWITH NAME =new_server_role_name
Especifica el nuevo nombre del rol de servidor definido por el usuario.Specifies the new name of the user-defined server role. Este nombre no puede existir ya en el servidor.This name cannot already exist in the server.

NotasRemarks

El cambio de nombre de un rol de servidor definido por el usuario no cambia el número de identificación, el propietario ni los permisos del rol.Changing the name of a user-defined server role does not change ID number, owner, or permissions of the role.

Para cambiar la pertenencia a roles, ALTER SERVER ROLE reemplaza sp_addsrvrolemember y sp_dropsrvrolemember.For changing role membership, ALTER SERVER ROLE replaces sp_addsrvrolemember and sp_dropsrvrolemember. Estos procedimientos almacenados están desusados.These stored procedures are deprecated.

Puede ver los roles de servidor si consulta las vistas de catálogo sys.server_role_members y sys.server_principals.You can view server roles by querying the sys.server_role_members and sys.server_principals catalog views.

Para cambiar el propietario de un rol de servidor definido por el usuario, utilice ALTER AUTHORIZATION (Transact-SQL).To change the owner of a user-defined server role, use ALTER AUTHORIZATION (Transact-SQL).

PermisosPermissions

Se necesita el permiso ALTER ANY SERVER ROLE en el servidor para cambiar el nombre de un rol de servidor definido por el usuario.Requires ALTER ANY SERVER ROLE permission on the server to change the name of a user-defined server role.

Roles fijos de servidorFixed server roles

Para agregar un miembro a un rol fijo de servidor, debe ser miembro de ese rol fijo de servidor o del rol fijo de servidor sysadmin.To add a member to a fixed server role, you must be a member of that fixed server role, or be a member of the sysadmin fixed server role.

Nota

Los permisos CONTROL SERVER y ALTER ANY SERVER ROLE no bastan para ejecutar ALTER SERVER ROLE para un rol fijo de servidor y el permiso ALTER no se puede conceder en un rol fijo de servidor.The CONTROL SERVER and ALTER ANY SERVER ROLE permissions are not sufficient to execute ALTER SERVER ROLE for a fixed server role, and ALTER permission cannot be granted on a fixed server role.

Roles de servidor definidos por el usuarioUser-defined server roles

Para agregar un miembro a un rol de servidor definido por el usuario, debe ser miembro del rol fijo de servidor sysadmin o disponer de los permisos CONTROL SERVER o ALTER ANY SERVER ROLE.To add a member to a user-defined server role, you must be a member of the sysadmin fixed server role or have CONTROL SERVER or ALTER ANY SERVER ROLE permission. O bien, debe disponer del permiso ALTER en ese rol.Or you must have ALTER permission on that role.

Nota

A diferencia de los roles fijos de servidor, los miembros de un rol de servidor definido por el usuario no disponen inherentemente de permiso para agregar miembros a ese mismo rol.Unlike fixed server roles, members of a user-defined server role do not inherently have permission to add members to that same role.

EjemplosExamples

A.A. Cambiar el nombre de un rol de servidorChanging the name of a server role

En el siguiente ejemplo se crea un rol de servidor denominado Product y, a continuación, se cambia el nombre del rol de servidor a Production.The following example creates a server role named Product, and then changes the name of server role to Production.

CREATE SERVER ROLE Product ;  
ALTER SERVER ROLE Product WITH NAME = Production ;  
GO  

B.B. Agregar una cuenta de dominio a un rol de servidorAdding a domain account to a server role

En el siguiente ejemplo se agrega una cuenta de dominio denominada adventure-works\roberto0 al rol de servidor definido por el usuario denominado Production.The following example adds a domain account named adventure-works\roberto0 to the user-defined server role named Production.

ALTER SERVER ROLE Production ADD MEMBER [adventure-works\roberto0] ;  

C.C. Agregar un inicio de sesión de SQL Server a un rol de servidorAdding a SQL Server login to a server role

En el siguiente ejemplo se agrega un inicio de sesión de SQL ServerSQL Server denominado Ted al rol fijo de servidor diskadmin.The following example adds a SQL ServerSQL Server login named Ted to the diskadmin fixed server role.

ALTER SERVER ROLE diskadmin ADD MEMBER Ted ;  
GO  

D.D. Quitar una cuenta de dominio de un rol de servidorRemoving a domain account from a server role

En el siguiente ejemplo se quita una cuenta de dominio denominada adventure-works\roberto0 del rol de servidor definido por el usuario denominado Production.The following example removes a domain account named adventure-works\roberto0 from the user-defined server role named Production.

ALTER SERVER ROLE Production DROP MEMBER [adventure-works\roberto0] ;  

E.E. Quitar un inicio de sesión de SQL Server de un rol de servidorRemoving a SQL Server login from a server role

En el siguiente ejemplo se quita el inicio de sesión de SQL ServerSQL Server Ted del rol fijo de servidor diskadmin.The following example removes the SQL ServerSQL Server login Ted from the diskadmin fixed server role.

ALTER SERVER ROLE Production DROP MEMBER Ted ;  
GO  

F.F. Conceder a un inicio de sesión el permiso para agregar inicios de sesión a un rol de servidor definido por el usuarioGranting a login the permission to add logins to a user-defined server role

En el siguiente ejemplo se permite a Ted agregar otros inicio de sesión al rol de servidor definido por el usuario denominado Production.The following example allows Ted to add other logins to the user-defined server role named Production.

GRANT ALTER ON SERVER ROLE::Production TO Ted ;  
GO  

G.G. Para ver la pertenencia al rolTo view role membership

Para ver la pertenencia al rol, utilice la página Rol de servidor (miembros) de SQL Server Management StudioSQL Server Management Studio o ejecute la siguiente consulta:To view role membership, use the Server Role (Members) page in SQL Server Management StudioSQL Server Management Studio or execute the following query:

SELECT SRM.role_principal_id, SP.name AS Role_Name,   
SRM.member_principal_id, SP2.name  AS Member_Name  
FROM sys.server_role_members AS SRM  
JOIN sys.server_principals AS SP  
    ON SRM.Role_principal_id = SP.principal_id  
JOIN sys.server_principals AS SP2   
    ON SRM.member_principal_id = SP2.principal_id  
ORDER BY  SP.name,  SP2.name  

Ejemplos: Almacenamiento de datos paralelosParallel Data WarehouseExamples: Almacenamiento de datos paralelosParallel Data Warehouse

H.H. Sintaxis básicaBasic Syntax

En el siguiente ejemplo se agrega el inicio de sesión Anna al rol fijo de servidor LargeRC.The following example adds the login Anna to the LargeRC server role.

ALTER SERVER ROLE LargeRC ADD MEMBER Anna;  

I.I. Quita un inicio de sesión de una clase de recursos.Remove a login from a resource class.

En el siguiente ejemplo se quita el rol de Ana del rol de servidor LargeRC.The following example drops Anna's membership in the LargeRC server role.

ALTER SERVER ROLE LargeRC DROP MEMBER Anna;  

Consulte tambiénSee Also

CREATE SERVER ROLE (Transact-SQL) CREATE SERVER ROLE (Transact-SQL)
DROP SERVER ROLE (Transact-SQL) DROP SERVER ROLE (Transact-SQL)
CREATE ROLE (Transact-SQL) CREATE ROLE (Transact-SQL)
ALTER ROLE (Transact-SQL) ALTER ROLE (Transact-SQL)
DROP ROLE (Transact-SQL) DROP ROLE (Transact-SQL)
Procedimientos almacenados de seguridad (Transact-SQL) Security Stored Procedures (Transact-SQL)
Funciones de seguridad (Transact-SQL) Security Functions (Transact-SQL)
Entidades de seguridad (motor de base de datos) Principals (Database Engine)
sys.server_role_members (Transact-SQL) sys.server_role_members (Transact-SQL)
sys.server_principals (Transact-SQL)sys.server_principals (Transact-SQL)