ALTER ROLE (Transact-SQL)
Cambia el nombre de un rol de base de datos.
Sintaxis
ALTER ROLE role_name WITH NAME = new_name
Argumentos
role_name
Nombre del rol que se va a cambiar.WITH NAME =new_name
Especifica el nuevo nombre del rol. Este nombre no debe existir en la base de datos.
Comentarios
El cambio de nombre de un rol de base de datos no cambia el número de identificación, el propietario, ni los permisos del rol.
Las funciones de la base de datos están visibles en las vistas de catálogo sys.database_role_members y sys.database_principals.
Advertencia |
---|
El comportamiento de los esquemas cambió en SQL Server 2005. En consecuencia, el código que supone que los esquemas son equivalentes a los usuarios de base de datos puede dejar de devolver resultados correctos. Las antiguas vistas de catálogo, incluida sysobjects, no se deben usar en una base de datos en la que se haya utilizado alguna vez cualquiera de las siguientes instrucciones DDL: CREATE SCHEMA, ALTER SCHEMA, DROP SCHEMA, CREATE USER, ALTER USER, DROP USER, CREATE ROLE, ALTER ROLE, DROP ROLE, CREATE APPROLE, ALTER APPROLE, DROP APPROLE, ALTER AUTHORIZATION. En esas bases de datos, debe usar las nuevas vistas de catálogo. En las nuevas vistas de catálogo se tiene en cuenta la separación de entidades de seguridad y esquemas que se estableció en SQL Server 2005. Para obtener más información sobre las vistas de catálogo, vea Vistas de catálogo (Transact-SQL). |
Permisos
Requiere el permiso ALTER ANY ROLE en la base de datos o el permiso ALTER en la función, o la pertenencia a db_securityadmin.
Ejemplos
En el ejemplo siguiente se cambia el nombre de la función buyers a purchasing.
USE AdventureWorks2008R2;
ALTER ROLE buyers WITH NAME = purchasing;
GO