sp_droprolemember (Transact-SQL)

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

重要说明重要提示

后续版本的 Microsoft SQL Server 将删除该功能。请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。请改用 ALTER ROLE

适用范围:SQL Server(SQL Server 2008 至当前版本),Windows Azure SQL Database(初始版本至当前版本)。

主题链接图标 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(失败)

注释

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

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

可以使用 sp_helpuser 查看 SQL Server 角色的成员,以及使用 ALTER ROLE 在角色中添加成员。

权限

要求具有角色的 ALTER 权限。

示例

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

EXEC sp_droprolemember 'Sales', 'Jonb';

请参阅

参考

安全存储过程 (Transact-SQL)

sp_addrolemember (Transact-SQL)

sp_droprole (Transact-SQL)

sp_dropsrvrolemember (Transact-SQL)

sp_helpuser (Transact-SQL)

系统存储过程 (Transact-SQL)