sp_droprole (Transact-SQL)
适用于:SQL Server
从当前数据库中删除数据库角色。
重要
在 SQL Server 2005(9.x)中, sp_droprole
已替换为 DROP ROLE 语句。 sp_droprole
仅用于与早期版本的 SQL Server 兼容,在将来的版本中可能不受支持。
语法
sp_droprole [ @rolename = ] N'rolename'
[ ; ]
参数
[ @rolename = ] N'rolename'
要从当前数据库中删除的数据库角色的名称。 @rolename 为 sysname,无默认值。 当前数据库中必须已存在@rolename 。
返回代码值
0
(成功)或 1
(失败)。
注解
只能使用 sp_droprole
删除数据库角色。
无法删除具有现有成员的数据库角色。 必须删除数据库角色的所有成员,然后才能删除该数据库角色。 若要从角色中删除用户,请使用 sp_droprolemember
。 如果任何用户仍然是该角色的成员, sp_droprole
则显示这些成员。
无法删除固定角色和公共角色。
如果角色拥有任何安全对象,则无法删除该角色。 在删除拥有安全对象的应用程序角色之前,必须首先移交安全对象的所有权或将其删除。 用于 ALTER AUTHORIZATION
更改不得删除的对象所有者。
sp_droprole
无法在用户定义的事务中执行。
权限
CONTROL
需要对角色具有权限。
示例
以下示例删除应用程序角色 Sales
。
EXEC sp_droprole 'Sales';
GO