sp_droprolemember (Transact-SQL)
从当前数据库的 SQL Server 角色中删除安全帐户。
重要提示 |
---|
后续版本的 Microsoft SQL Server 将删除该功能。请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。请改用 ALTER ROLE。 |
语法
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'
请参阅
参考
sp_addrolemember (Transact-SQL)