從當(dāng)前數(shù)據(jù)庫中的 Microsoft® SQL Server™ 角色中刪除安全帳戶。
sp_droprolemember [ @rolename = ] 'role' ,
[ @membername = ] 'security_account'
'role'
某個角色的名稱,將要從該角色刪除成員。role 的數(shù)據(jù)類型為 sysname,沒有默認(rèn)值。role 必須已經(jīng)存在于當(dāng)前的數(shù)據(jù)庫中。
'security_account'
正在從角色中刪除的安全帳戶的名稱。security_account 的數(shù)據(jù)類型為 sysname,沒有默認(rèn)值。security_account 可以是 SQL Server 用戶或另一個 SQL Server 角色,或 Microsoft Windows NT® 用戶或組。當(dāng)前數(shù)據(jù)庫中必須存在 security_account。當(dāng)指定 Windows NT 用戶或組時,請指定該 Windows NT 用戶或組在數(shù)據(jù)庫中可被識別的名稱(用 sp_grantdbaccess 添加)。
0(成功)或 1(失敗)
通過從 sysmembers 表刪除行,sp_droprolemember 刪除角色成員。當(dāng)從角色刪除某個成員時,應(yīng)用于該角色的權(quán)限不再適用于角色從前的那個成員。
不能使用 sp_droprolemember 從 Windows NT 組刪除 Windows NT 用戶;而只能在 Windows NT 安全系統(tǒng)中完成這個任務(wù)。若要從固定服務(wù)器角色刪除用戶,請使用 sp_dropsrvrolemember。不能從 public 角色刪除用戶,并且不能從任何角色刪除 dbo。
可以使用 sp_helpuser 查看 SQL Server 角色的成員,并且可以使用 sp_addrolemember 將成員添加到角色。
不能從用戶定義的事務(wù)內(nèi)執(zhí)行 sp_droprolemember。
只有 sysadmin 固定服務(wù)器角色、db_owner 和 db_securityadmin 固定數(shù)據(jù)庫角色的成員才能執(zhí)行 sp_droprolemember。只有 db_owner 固定數(shù)據(jù)庫角色的成員才可以從固定數(shù)據(jù)庫角色中刪除用戶。
下面的示例從角色 Sales 中刪除用戶 JonB。
EXEC sp_droprolemember 'Sales', 'Jonb'
相關(guān)文章