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

Se aplica a:Applies to: síSQL ServerSQL Server (todas las versiones admitidas) yesSQL ServerSQL Server (all supported versions) SíAzure SQL DatabaseAzure SQL DatabaseYesAzure SQL DatabaseAzure SQL Database SíInstancia administrada de Azure SQLAzure SQL Managed InstanceYesInstancia administrada de Azure SQLAzure SQL Managed Instance síAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics síAlmacenamiento de datos paralelosParallel Data WarehouseyesAlmacenamiento de datos paralelosParallel Data WarehouseSe aplica a:Applies to: síSQL ServerSQL Server (todas las versiones admitidas) yesSQL ServerSQL Server (all supported versions) SíAzure SQL DatabaseAzure SQL DatabaseYesAzure SQL DatabaseAzure SQL Database SíInstancia administrada de Azure SQLAzure SQL Managed InstanceYesInstancia administrada de Azure SQLAzure SQL Managed Instance síAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics síAlmacenamiento de datos paralelosParallel Data WarehouseyesAlmacenamiento de datos paralelosParallel Data Warehouse

Agrega o quita miembros en un rol de base de datos o cambia el nombre de un rol de base de datos definido por el usuario.Adds or removes members to or from a database role, or changes the name of a user-defined database role.

Nota

Para modificar roles o para agregar o quitar miembros en Azure Synapse Analytics (SQL Data Warehouse)Azure Synapse Analytics (SQL Data Warehouse) o Almacenamiento de datos paralelosParallel Data Warehouse, use sp_addrolemember (Transact-SQL) y sp_droprolemember (Transact-SQL).To alter roles adding or dropping members in Azure Synapse Analytics (SQL Data Warehouse)Azure Synapse Analytics (SQL Data Warehouse) or Almacenamiento de datos paralelosParallel Data Warehouse, use sp_addrolemember (Transact-SQL) and sp_droprolemember (Transact-SQL).

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

SintaxisSyntax

-- Syntax for SQL Server (starting with 2012) and Azure SQL Database  
  
ALTER ROLE  role_name  
{  
       ADD MEMBER database_principal  
    |  DROP MEMBER database_principal  
    |  WITH NAME = new_name  
}  
[;]  
-- Syntax for SQL Server 2008, Azure SQL Data Warehouse and Parallel Data Warehouse
  
-- Change the name of a user-defined database role  
ALTER ROLE role_name   
    WITH NAME = new_name  
[;]  

Nota

Para ver la sintaxis de Transact-SQL para SQL Server 2014 y versiones anteriores, consulte Versiones anteriores de la documentación.To view Transact-SQL syntax for SQL Server 2014 and earlier, see Previous versions documentation.

ArgumentosArguments

role_namerole_name
SE APLICA A: SQL ServerSQL Server (a partir de 2008), Azure SQL DatabaseAzure SQL DatabaseAPPLIES TO: SQL ServerSQL Server (starting with 2008), Azure SQL DatabaseAzure SQL Database

Especifica el rol de base de datos que cambiar.Specifies the database role to change.

ADD MEMBER database_principalADD MEMBER database_principal
SE APLICA A: SQL ServerSQL Server (a partir de 2012), Azure SQL DatabaseAzure SQL DatabaseAPPLIES TO: SQL ServerSQL Server (starting with 2012), Azure SQL DatabaseAzure SQL Database

Especifica que se agregue la entidad de seguridad de base de datos a la pertenencia de un rol de base de datos.Specifies to add the database principal to the membership of a database role.

  • database_principal es un usuario de base de datos o un rol de base de datos definido por el usuario.database_principal is a database user or a user-defined database role.

  • database_principal no puede ser un rol fijo de base de datos ni una entidad de seguridad del servidor.database_principal cannot be a fixed database role or a server principal.

DROP MEMBER database_principalDROP MEMBER database_principal
SE APLICA A: SQL ServerSQL Server (a partir de 2012), Azure SQL DatabaseAzure SQL DatabaseAPPLIES TO: SQL ServerSQL Server (starting with 2012), Azure SQL DatabaseAzure SQL Database

Especifica que se quite la entidad de seguridad de base de datos de la pertenencia de un rol de base de datos.Specifies to remove a database principal from the membership of a database role.

  • database_principal es un usuario de base de datos o un rol de base de datos definido por el usuario.database_principal is a database user or a user-defined database role.

  • database_principal no puede ser un rol fijo de base de datos ni una entidad de seguridad del servidor.database_principal cannot be a fixed database role or a server principal.

WITH NAME = new_nameWITH NAME = new_name
SE APLICA A: SQL ServerSQL Server (a partir de 2008), Azure SQL DatabaseAzure SQL DatabaseAPPLIES TO: SQL ServerSQL Server (starting with 2008), Azure SQL DatabaseAzure SQL Database

Especifica que se cambie el nombre de un rol de base de datos definido por el usuario.Specifies to change the name of a user-defined database role. El nuevo nombre no debe existir en la base de datos.The new name must not already exist in the database.

El cambio de nombre de un rol de base de datos no modifica el número de identificación, el propietario, ni los permisos del rol.Changing the name of a database role does not change ID number, owner, or permissions of the role.

PermisosPermissions

Para ejecutar este comando, se necesitan uno o varios de los siguientes permisos o pertenencias a grupos:To run this command you need one or more of these permissions or memberships:

  • Permiso ALTER en el rolALTER permission on the role
  • Permiso ALTER ANY ROLE en la base de datosALTER ANY ROLE permission on the database
  • Pertenencia al rol fijo de base de datos db_securityadminMembership in the db_securityadmin fixed database role

Además, para cambiar la pertenencia a un rol fijo de base de datos, se necesita lo siguiente:Additionally, to change the membership in a fixed database role you need:

  • Pertenencia al rol fijo de base de datos db_ownerMembership in the db_owner fixed database role

Limitaciones y restriccionesLimitations and restrictions

El nombre de los roles fijos de base de datos no se puede cambiar.You cannot change the name of a fixed database role.

MetadatosMetadata

Estas vistas del sistema contienen información sobre los roles de base de datos y las entidades de seguridad de las base de datos.These system views contain information about database roles and database principals.

EjemplosExamples

A.A. Cambiar el nombre de un rol de base de datosChange the name of a database role

SE APLICA A: SQL ServerSQL Server (a partir de 2008), SQL DatabaseSQL DatabaseAPPLIES TO: SQL ServerSQL Server (starting with 2008), SQL DatabaseSQL Database

En el ejemplo siguiente se cambia el nombre del rol buyers a purchasing.The following example changes the name of role buyers to purchasing. Este ejemplo se puede ejecutar en la base de datos de ejemplo AdventureWorks.This example can be executed in the AdventureWorks sample database.

ALTER ROLE buyers WITH NAME = purchasing;  

B.B. Agregar o quitar a miembros del rolAdd or remove role members

SE APLICA A: SQL ServerSQL Server (a partir de 2012), SQL DatabaseSQL DatabaseAPPLIES TO: SQL ServerSQL Server (starting with 2012), SQL DatabaseSQL Database

En este ejemplo se crea el rol de base de datos Sales.This example creates a database role named Sales. Se agrega un usuario de base de datos denominado Barry a la pertenencia y, luego, se indica cómo quitar el miembro Barry.It adds a database user named Barry to the membership, and then shows how to remove the member Barry. Este ejemplo se puede ejecutar en la base de datos de ejemplo AdventureWorks.This example can be executed in the AdventureWorks sample database.

CREATE ROLE Sales;  
ALTER ROLE Sales ADD MEMBER Barry;  
ALTER ROLE Sales DROP MEMBER Barry;  

Vea tambiénSee Also

CREATE ROLE (Transact-SQL) CREATE ROLE (Transact-SQL)
Entidades de seguridad (motor de base de datos) Principals (Database Engine)
DROP ROLE (Transact-SQL) DROP ROLE (Transact-SQL)
sp_addrolemember (Transact-SQL) sp_addrolemember (Transact-SQL)
sys.database_role_members (Transact-SQL) sys.database_role_members (Transact-SQL)
sys.database_principals (Transact-SQL)sys.database_principals (Transact-SQL)