DROP ROLE (Transact-SQL)

从数据库删除角色。

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

语法

DROP ROLE role_name

参数

  • role_name
    指定要从数据库删除的角色。

备注

无法从数据库删除拥有安全对象的角色。若要删除拥有安全对象的数据库角色,必须首先转移这些安全对象的所有权,或从数据库删除它们。无法从数据库删除拥有成员的角色。若要删除有成员的角色,必须首先删除角色的成员。

不能使用 DROP ROLE 删除固定数据库角色。

sys.database_role_members 目录视图中可以查看有关角色成员身份的信息。

ms174988.Caution(zh-cn,SQL.90).gif注意:
在 SQL Server 2005 中,架构的行为与早期版本的 SQL Server 中的行为不同。假设架构与数据库用户等价的代码不能返回正确的结果。在曾经使用过以下任何 DDL 语句的数据库中,不应当使用旧目录视图(包括 sysobjects):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)

权限

要求对角色具有 ONTROL 权限,或者对数据库具有 ALTER ANY ROLE 权限。

示例

以下示例从 AdventureWorks 删除数据库角色 purchasing

USE AdventureWorks;
DROP ROLE purchasing;
GO

请参阅

参考

ALTER ROLE (Transact-SQL)
CREATE ROLE (Transact-SQL)
DROP ROLE (Transact-SQL)
EVENTDATA (Transact-SQL)
sp_addrolemember (Transact-SQL)
sys.database_role_members (Transact-SQL)
sys.database_principals (Transact-SQL)

其他资源

主体

帮助和信息

获取 SQL Server 2005 帮助