Transact-SQL 参考

sp_dropgroup

从当前数据库中删除角色。提供 sp_dropgroup 是为了向后兼容。在 Microsoft® SQL Server™ 7.0 版中,组作为角色来实现。

语法

sp_dropgroup [ @rolename = ] 'role'

参数

[@rolename =] 'role'

将要从当前数据库删除的角色。role 的数据类型为 sysname,没有默认值。

返回代码值

0(成功)或 1(失败)

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

注释

sp_dropgroup 使用 role 值调用 sp_droprole 以删除角色。不能删除 public、固定服务器、固定数据库或应用程序角色。可以使用 sp_dropapprole 删除应用程序角色。

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

此外,如果存在任何角色的成员,那么也不能删除该角色。可以使用 sp_droprolemember 从角色删除用户。如果任何用户仍然是角色的成员,那么 sp_dropgroup 将显示这些成员。

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

权限

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

示例

下面的示例从当前数据库删除角色 my_role

EXEC sp_dropgroup 'my_role'

请参见

sp_addrole

sp_droprole

sp_dropapprole

系统存储过程