DROP ROLE (Transact-SQL)

适用于:SQL ServerAzure SQL 托管实例Azure Synapse Analytics分析平台系统 (PDW)Microsoft Fabric 预览版中的 SQL 数据库

从数据库中删除角色。

Transact-SQL 语法约定

Syntax

SQL Server、Azure SQL 数据库、Azure SQL 托管实例 和 Fabric SQL 数据库的语法

DROP ROLE [ IF EXISTS ] role_name

Azure Synapse Analytics 和并行数据仓库的语法

DROP ROLE role_name

Arguments

IF EXISTS
适用范围:SQL Server(SQL Server 2016 (13.x) 到当前版本)。

有条件地删除角色(仅当其已存在时)。

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

Remarks

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

若要删除数据库角色中的成员,请使用 ALTER ROLE (Transact-SQL)

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

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

Note

架构不等同于数据库用户。 使用 系统目录视图 标识数据库用户和架构之间的任何差异。

若要删除服务器角色,请使用 DROP SERVER ROLE (Transact-SQL)

Permissions

要求对数据库具有 ALTER ANY ROLE 权限、对角色具有 CONTROL 权限或具有 db_securityadmin 中的成员身份

Examples

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

DROP ROLE purchasing;  
GO  

See Also

CREATE ROLE (Transact-SQL)
ALTER ROLE (Transact-SQL)
主体(数据库引擎)
EVENTDATA (Transact-SQL)
sp_addrolemember (Transact-SQL)
sys.database_role_members (Transact-SQL)
sys.database_principals (Transact-SQL)
安全函数 (Transact-SQL)