sp_droprolemember (Transact-SQL)

从当前数据库的 SQL Server 角色中删除安全帐户。

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

语法

sp_droprolemember [ @rolename = ] 'role' , 
          [ @membername = ] 'security_account'

参数

  • [ @rolename = ] 'role'
    将从中删除成员的角色的名称。role 的数据类型为 sysname,没有默认值。role 必须存在于当前数据库中。

  • [ @membername = ] 'security_account'
    将从角色中删除的安全帐户的名称。security_account 的数据类型为 sysname,无默认值。security_account 可以是数据库用户、其他数据库角色、Windows 登录名或 Windows 组。security_account 必须存在于当前数据库中。

返回代码值

0(成功)或 1(失败)

注释

sp_droprolemember 通过从 sysmembers 表中删除行来删除数据库角色的成员。删除某一角色的成员后,该成员将失去作为该角色的成员身份所拥有的任何权限。

若要删除固定服务器角色的用户,请使用 sp_dropsrvrolemember。不能删除 public 角色的用户,也不能从任何角色中删除 dbo

可以使用 sp_helpuser 查看 SQL Server 角色的成员,还可以使用 sp_addrolemember 为角色添加成员。

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

权限

需要对角色具有 ALTER 权限。

示例

以下示例将删除角色 Sales 中的用户 JonB。

EXEC sp_droprolemember 'Sales', 'Jonb'