更改當(dāng)前數(shù)據(jù)庫(kù)中用戶(hù)安全帳戶(hù)的角色成員資格。提供該過(guò)程是為了向后兼容。Microsoft® SQL Server™ 7.0 版使用角色而不是組。使用 sp_addrolemember 代替。
sp_changegroup [ @grpname = ] 'role'
, [ @username = ] 'user'
[@grpname =] 'role'
是添加用戶(hù)的角色。role 的數(shù)據(jù)類(lèi)型為 sysname,沒(méi)有默認(rèn)值。role 必須存在于當(dāng)前數(shù)據(jù)庫(kù)中。
[@username =] 'user'
向角色添加的用戶(hù)。user 的數(shù)據(jù)類(lèi)型為 sysname,沒(méi)有默認(rèn)值。用戶(hù)在當(dāng)前數(shù)據(jù)庫(kù)中必須已存在。指定 Windows NT 用戶(hù)時(shí),請(qǐng)指定 Windows NT 用戶(hù)在數(shù)據(jù)庫(kù)中已知的名稱(chēng)(用 sp_grantdbaccess 添加)。
0(成功)或 1(失?。?/P>
角色提供一種管理應(yīng)用于角色成員權(quán)限的機(jī)制。將用戶(hù)添加到角色時(shí),用戶(hù)獲得為該角色定義的權(quán)限。
執(zhí)行 sp_changegroup 時(shí),user 的安全帳戶(hù)作為 role 的成員添加,并從所有其它角色中刪除。sp_addrolemember 和 sp_droprolemember 可用來(lái)更改單個(gè)角色中的角色成員資格,而不影響在其它角色中的成員資格。
使用 sp_adduser 授予新數(shù)據(jù)庫(kù)用戶(hù)訪問(wèn)數(shù)據(jù)庫(kù)權(quán)限的同時(shí),將新數(shù)據(jù)庫(kù)用戶(hù)可添加到角色。
如果沒(méi)有通過(guò) sp_addrolemember 明確地將用戶(hù)添加到其它角色,則每個(gè)用戶(hù)均為默認(rèn)角色 public 的成員。
sp_changegroup 不能在用戶(hù)定義的事務(wù)中執(zhí)行。
sysadmin 固定服務(wù)器角色、db_owner 和 db_securityadmin 固定數(shù)據(jù)庫(kù)角色成員能夠?yàn)樵摂?shù)據(jù)庫(kù)中的任何角色執(zhí)行 sp_changegroup。
角色所有者可以執(zhí)行 sp_changegroup。角色所有者必須既擁有該用戶(hù)的新角色,又擁有其當(dāng)前角色。
下面的示例讓用戶(hù) Albert 成為 developers 角色的成員。
EXEC sp_changegroup 'developers', 'Albert'
相關(guān)文章