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架构上的SELECTINSERTDELETEUPDATE权限授予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_principalssys.database_role_members视图查看.

显示角色salessox_auditors的信息:

SELECT
  name,
  principal_id,
  type,
  type_desc,
  owning_principal_id
FROM sys.database_principals
WHERE name in ('sales', 'sox_auditors');

posted @ 2023-01-30 21:36  平元兄  阅读(822)  评论(0编辑  收藏  举报