sp_addrole (Transact-SQL)

在目前資料庫中建立新的資料庫角色。

重要事項重要事項

併入 sp_addrole 的目的,只是為了與舊版 Microsoft SQL Server 相容,未來的版本不一定會支援。 請改用 CREATE ROLE

主題連結圖示 Transact-SQL 語法慣例

語法

sp_addrole [ @rolename = ] 'role' [ , [ @ownername = ] 'owner' ] 

引數

  • [ @rolename = ] 'role'
    這是新資料庫角色的名稱。 role 是 sysname,沒有預設值。 role 必須是有效的識別碼 (ID),而且不能是目前資料庫中已有的識別碼。

  • [ @ownername =] 'owner'
    這是新資料庫角色的擁有者。 owner 是 sysname,預設值是目前執行中的使用者。 owner 必須是目前資料庫的資料庫使用者或資料庫角色。

傳回碼值

0 (成功) 或 1 (失敗)

備註

SQL Server 資料庫角色的名稱,可以包含 1 到 128 個字元,其中包括字母、符號和數字。 資料庫角色的名稱不能包含反斜線字元 (\)、不能為 NULL,也不能是空字串 ('')。

在加入資料庫角色之後,請使用 sp_addrolemember (Transact-SQL),將主體加入角色中。 當您使用 GRANT、DENY 或 REVOKE 陳述式將權限套用至資料庫角色時,資料庫角色的成員會繼承那些權限,如同這些權限是直接套用至其帳戶。

[!附註]

無法建立新的伺服器角色。 角色只能在資料庫層級建立。

sp_addrole 不能在使用者自訂交易內部使用。

權限

需要資料庫的 CREATE ROLE 權限。 若要建立結構描述,就需要資料庫的 CREATE SCHEMA 權限。 如果將 owner 指定為使用者或群組,則需要該使用者或群組的 IMPERSONATE 權限。 如果將 owner 指定為角色,則需要該角色或該角色成員的 ALTER 權限。 如果擁有者被指定為應用程式角色,則需要該應用程式角色的 ALTER 權限。

範例

下列範例會在目前資料庫中加入一個名叫 Managers 的新角色。

EXEC sp_addrole 'Managers'

請參閱

參考

系統預存程序 (Transact-SQL)

安全性預存程序 (Transact-SQL)

CREATE ROLE (Transact-SQL)