Transact-SQL 参考

sp_droprole

从当前数据库删除 Microsoft® SQL Server™ 角色。

语法

sp_droprole [ @rolename = ] 'role'

参数

[@rolename =] 'role'

将要从当前数据库中删除的角色的名称。role 的数据类型为 sysname,没有默认值。role 必须已经存在于当前的数据库中。

返回代码值

0(成功)或 1(失败)

结果集
列名 数据类型 描述
Name sysname 角色现有成员的名称。

注释

使用 sp_droprole 只能删除标准的用户角色。若要删除应用程序角色,请使用 sp_dropapprole

不能删除仍然带有成员的角色。在删除角色之前,首先必须从该角色删除其所有的成员。若要从角色删除用户,请使用 sp_droprolemember。如果任何用户仍然为角色的成员,那么 sp_droprole 将显示这些成员。

不能删除固定角色及 public 角色。

如果角色还拥有任何对象,那么就不能将其删除。请在删除角色之前先删除对象,或者,对于那些不允许删除的对象,请使用 sp_changeobjectowner 更改其所有者。

不能在用户定义的事务内执行 sp_droprole

权限

只有 sysadmin 固定服务器角色、db_ownerdb_securityadmin 固定数据库角色成员或角色的所有者才能执行 sp_droprole

示例

下面的示例删除 SQL Server 角色 Sales

EXEC sp_droprole 'Sales'

请参见

sp_addrole

sp_dropapprole

系统存储过程