16.2 SQL Server创建角色
SQL Server创建角色
简介
角色是数据库级安全资源,是一组权限。要创建新角色,请使用create role语句:
| CREATE ROLE role_name | |
| [AUTHORIZATION owner_name]; |
首先,在CREATE ROLE关键字之后指定角色的名称。
其次,在AUTHORIZATION子句中指定所有者ower_name。所有者名称是拥有新角色的数据库用户或角色。如果省略AUTHORIZATION子句,则新角色归执行CREATE ROLE语句的用户拥有。
注意,角色的所有者和拥有角色的任何成员都可以向角色添加或删除角色的成员。
通常,创建一个新角色,使用GRANT语句向其授予权限,并使用ALTER ROLE语句向角色添加成员。
示例
1)创建新角色
首先在master数据库中创建新LOGIN账号james:
| CREATE LOGIN james | |
| WITH PASSWORD = 'Ux!sa123ayb'; |
接下来,为登录james创建一个同名新用户:
| CREATE USER james | |
| FOR LOGIN james; |
然后创建一个新角色sales:
| CREATE ROLE sales; |
然后,将sales架构上的SELECT、INSERT、DELETE和UPDATE权限授予sales角色:
| GRANT SELECT, INSERT, DELETE, UPDATE | |
| ON SCHEMA::sales | |
| TO sales; |
最后,将james用户添加到sales角色中:
| ALTER ROLE sales | |
| ADD MEMBER james; |
2)创建由固定数据库角色拥有的新角色
以下使用CREATE ROLE语句创建固定数据库角色db_securityadmin拥有的新角色:
| CREATE ROLE sox_auditors | |
| AUTHORIZATION db_securityadmin; |
3)检查角色
角色以及角色中的成员可以使用sys.database_principals和sys.database_role_members视图查看.
显示角色sales和sox_auditors的信息:
| SELECT | |
| name, | |
| principal_id, | |
| type, | |
| type_desc, | |
| owning_principal_id | |
| FROM sys.database_principals | |
| WHERE name in ('sales', 'sox_auditors'); |

分类: SQL Server
漫思
浙公网安备 33010602011771号