sp_changegroup (Transact-SQL)
變更目前資料庫中使用者的角色成員資格。
![]() |
---|
提供 sp_changegroup 的目的,是為了與舊版 Microsoft SQL Server 相容。在新的開發工作中,請改用 sp_addrolemember 和 sp_droprolemember。 |
語法
sp_changegroup [ @grpname= ] 'role'
, [ @username = ] 'user'
引數
- [ @grpname = ] 'role'
這是要加入使用者的角色。role 是 sysname,沒有預設值。role 必須存在於目前資料庫中。
- [ @username = ] 'user'
這是要加入角色的使用者。user 是 sysname,沒有預設值。這位使用者必須存在於目前資料庫中。
傳回碼值
0 (成功) 或 1 (失敗)
備註
角色會提供一項機制來管理套用至角色成員的權限。將使用者加入角色中時,使用者會取得授與角色的權限。
在執行 sp_changegroup 時,user 的安全性帳戶會被加入當作 role 的成員,並且從其他所有的角色中移除。若要變更單一角色中的角色成員資格,而不影響其他角色的成員資格,請使用 sp_addrolemember 和 sp_droprolemember。
新的資料庫使用者可以在利用 sp_adduser 獲得資料庫存取權的同時加入角色中。
每一位使用者都是預設角色 public 的成員。
sp_changegroup 無法在使用者自訂交易內執行。
權限
必須具備下列一項:db_owner 固定資料庫角色中的成員資格;db_securityadmin 固定資料庫角色中的成員資格;擁有該角色的角色成員資格;角色的 ALTER 權限。
範例
下列範例會讓使用者 Albert
成為 developers
角色的成員。
EXEC sp_changegroup 'developers', 'Albert'
請參閱
參考
安全性預存程序 (Transact-SQL)
sp_addrole (Transact-SQL)
sp_addrolemember (Transact-SQL)
sp_adduser (Transact-SQL)
sp_dropgroup (Transact-SQL)
sp_helpgroup (Transact-SQL)
系統預存程序 (Transact-SQL)