Transact-SQL 参考

sp_addrole

在当前数据库创建新的 Microsoft® SQL Server™ 角色。

语法

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

参数

[@rolename =] 'role'

新角色的名称。role 的数据类型为 sysname,没有默认值。role 必须是有效标识符,并且不能已经存在于当前数据库中。

[@ownername =] 'owner'

新角色的所有者,owner 的数据类型为 sysname,默认值为 dboowner 必须是当前数据库中的某个用户或角色。当指定 Microsoft Windows NT® 用户时,请指定该 Windows NT 用户在数据库中可被识别的名称(用 sp_grantdbaccess 添加)。

返回代码值

0(成功)或 1(失败)

注释

SQL Server 角色可以包含 1 到 128 个字符,包括字母、符号及数字。但是,角色不能:

在添加角色之后,可以使用 sp_addrolemember 添加安全帐户,使其成为该角色的成员。当使用 GRANT、DENY 或 REVOKE 语句将权限应用于角色时,角色的成员将继承这些权限,就好像将权限直接应用于其帐户一样。

说明  无法创建新的固定服务器角色。只能在数据库级别上创建角色。

不能在用户定义的事务内使用 sp_addrole

权限

只有 sysadmin 固定服务器角色及 db_securityadmin 和 db_owner 固定数据库角色的成员才能执行 sp_addrole

示例

下面的示例将名为 Managers 的新角色添加到当前数据库中。

EXEC sp_addrole 'Managers'

请参见

创建用户定义的 SQL Server 数据库角色

sp_addrolemember

sp_droprole

sp_helprole

系统存储过程