sp_droprolemember (Transact-SQL)
适用于:SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics Analytics Platform System (PDW)
从当前数据库的 SQL Server 角色中删除安全帐户。
重要
在 SQL Server的未来版本中将删除此功能。 请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。 请改用 ALTER ROLE 。
语法
SQL Server 和 Azure SQL Edge 的语法。
sp_droprolemember
[ @rolename = ] N'rolename'
, [ @membername = ] N'membername'
[ ; ]
Azure Synapse Analytics 和分析平台系统的语法(PDW)。
sp_droprolemember N'rolename' , 'membername'
[ ; ]
注意
Azure Synapse Analytics 中的无服务器 SQL 池不支持此语法。
参数
[ @rolename = ] N'rolename'
要从中删除成员的角色的名称。 @rolename 为 sysname,无默认值。 当前数据库中必须存在@rolename 。
[ @membername = ] N'membername'
要从角色中删除的安全帐户的名称。 @membername为 sysname,没有默认值。 @membername可以是数据库用户、另一个数据库角色、Windows 帐户或 Windows 组。 当前数据库中必须存在@membername。
返回代码值
0
(成功)或 1
(失败)。
注解
sp_droprolemember
通过从 sysmembers
表中删除行,从数据库角色中删除成员。 从角色中删除成员时,该成员将失去该角色的成员身份拥有的任何权限。
若要从固定服务器角色中删除用户,请使用 sp_dropsrvrolemember
。 用户不能从 公共 角色中删除, dbo
也不能从任何角色中删除。
用于 sp_helpuser
查看 SQL Server 角色的成员,以及用于 ALTER ROLE
将成员添加到角色。
权限
ALTER
需要对角色具有权限。
示例
以下示例将删除角色 JonB
中的用户 Sales
。
EXEC sp_droprolemember 'Sales', 'Jonb';
示例:Azure Synapse Analytics 和 Analytics Platform System (PDW)
以下示例将删除角色 JonB
中的用户 Sales
。
EXEC sp_droprolemember 'Sales', 'JonB'