ALTER ROLE (Transact-SQL)

更改数据库角色的名称。

主题链接图标Transact-SQL 语法约定

语法

ALTER ROLE role_name WITH NAME = new_name

参数

  • role_name
    要更改的角色的名称。

  • WITH NAME **=**new_name
    指定角色的新名称。数据库中不得已存在此名称。

注释

更改数据库角色的名称不会更改角色的 ID 号、所有者或权限。

sys.database_role_memberssys.database_principals 目录视图中可以查看数据库角色。

注意事项注意

从 SQL Server 2005 开始,架构的行为发生了更改。 因此,假设架构与数据库用户等价的代码不再返回正确的结果。 包含 sysobjects 的旧目录视图不应在曾经使用任何下列 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。 在这类数据库中,必须改用新目录视图。 新的目录视图将采用在 SQL Server 2005 中引入的使主体和架构分离的方法。 有关目录视图的详细信息,请参阅目录视图 (Transact-SQL)。

权限

需要对数据库具有 ALTER ANY ROLE 权限。

示例

以下示例将角色 buyers 的名称更改为 purchasing。

USE AdventureWorks;
ALTER ROLE buyers WITH NAME = purchasing;
GO