首页 > 数据库 >16.2 SQL Server创建角色

16.2 SQL Server创建角色

时间:2023-01-30 21:46:01浏览次数:32  
标签:角色 james 创建 CREATE sales Server ROLE 16.2 SQL

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');

标签:角色,james,创建,CREATE,sales,Server,ROLE,16.2,SQL
From: https://www.cnblogs.com/michaelshen/p/17077311.html

相关文章

  • 16.3 SQL Server修改角色
    SQLServer修改角色目录SQLServer修改角色简介示例1)重命名角色2)向角色中添加成员3)从角色中移除成员简介ALTERROLE可以:重命名角色向角色中添加成员从角色中......
  • 17.1 SQL Server数据库邮件
    SQLServer数据库邮件目录SQLServer数据库邮件简介配置SQLServer数据库邮件使用数据库邮件发送邮件1)发送邮件示例2)发送带有查询结果的电子邮件简介数据库电子邮件可以......
  • SQL练习:UNION实现多张表的纵向合并
    左、内、右连接可以实现多表横向合并,而UNION关键字则可以实现多表纵向合并UNION:实现多表纵向合并(默认含去重功能)<sql查询语句1>UNION<sql查询语句2>UNION...UNION......
  • 16.4 SQL Server删除角色
    SQLServer删除角色目录SQLServer删除角色简介示例1)DROPROLE简单示例2)DROPROLE删除具有成员的角色简介语法:DROPROLE[IFEXISTS]role_name;DROPROLE无法删除拥......
  • 18.1 SQL Server阻塞
    SQLServer阻塞目录SQLServer阻塞简介示例简介当两个会话试图同时更新同一数据时,会发生阻塞。第一个会话锁定数据,第二个会话需要等待第一个会话完成并释放锁定。结果......
  • 18.2 SQL Server死锁
    SQLServer死锁目录SQLServer死锁简介示例简介死锁是一个并发问题,其中两个会话会阻止彼此的进程。第一个会话锁定了另一个会话想要访问的资源,反之亦然。下图说明了SQL......
  • mysql02
    mysqlday01课堂笔记1、什么是数据库?什么是数据库管理系统?什么是SQL?他们之间的关系是什么?数据库: 英文单词DataBase,简称DB。按照一定格式存储数据的一些文件的组合。 ......
  • PostgreSQL:查询数据表信息
    PostgreSQL14.0pgAdmin4Version5.7-- 0、序章要查询数据表信息,需要用到系统表或系统视图等,比如,pg_tables、pg_class、information_schema等。使用pgAdmin4......
  • Simple-Web-Server HTTP开源服务器库
    1下载网址​ ​​https://gitlab.com/eidheim/Simple-Web-Server​​2实现HTTP短连接默认的HTTP协议都是短连接,服务器返回响应报文,就会主动断开,测试发现,当前库不会主动断......
  • 在linux下安装mysql8.0.22
    前提准备第一步:检查是否有安装过mysql命令:# rpm -qa|grep-Imysql,使用rpm方式进行验证,其中i表示忽略大小写 假如安装过了mysql则需要先卸载命令:# rpm -e--no......