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