角色、管理权限

  • 1. 角色
    • 1.1 概述
    • 1.2 预定义角色
    • 1.3 角色的操作
  • 2. 管理权限
    • 2.1 概述
    • 2.2 授予权限
    • 2.3 收回权限

1. 角色

1.1 概述

一个数据库可能会有许多个用户,若单独给每个用户设置管理权限,会浪费很多时间;角色就是集中管理权限的一种机制,它能将不同权限的用户分类组合,便于数据库管理员管理;

1.2 预定义角色

SQL Server 中有两类预定义的角色,系统管理预定义角色数据库预定义角色,这两类预定义角色将系统管理和数据库管理的权限做了分解,方便数据库管理员分配使用;
当中,较为特殊的是 public 角色,它的权限是所有数据库用户的默认权限;
每个用户都有 public 角色,不需要也不能够将用户指派给 public 角色,因为默认情况下所有用户都自动属于该角色,同样,用户也不能取消角色的public 角色或直接删除public 角色

1.3 角色的操作

  1. 定义角色的SQL命令为 CREATE ROLE,语法格式如下:
CREATE ROLE <角色>[ <拥有者>]

<角色>是定义的角色的名称,命名规则跟数据表名类似;AUTHORIZATION表示指定该角色的拥有者,可以为用户或角色,但需要一定的权限,省略时表示属于创建该角色的用户;
例子 1:创建用户 teacher

create role teacher

  1. 每个数据库用户都能担当一个或多个角色,指定角色的SQL语法格式如下:
sp_addrolemember '角色名'.'用户名'

若一个用户不再担当某角色,可取消该用户的角色资格,取消角色资格的SQL语法格式如下:

sp_droprolemember '角色名'.'用户名'
  1. 修改角色名的SQL命令为ALTER ROLE,语法格式如下:
ALTER ROLE <角色名> WITH NAME=新名称

例子 2:将角色 teacher 改为 Teacher;

alter role teacher with name=Teacher

  1. 删除角色的SQL命令为DROP ROLE,语法格式如下:
DROP ROLE <角色名>

注意: 不能删除仍然带有用户的角色,在删除角色前解除其与所有成员的关系;

2. 管理权限

2.1 概述

权限是用户对数据库及其对象的使用权;为了数据库的安全,需要对用户的操作权限进行控制管理,系统管理员或数据库管理员能按层次定义角色及其权限,为不同级别的用户指定不同的角色,从而分层次管理数据;
权限可分为系统权限和对象权限,系统权限表示用户对数据库的操作权限,如下表:

对象权限表示系统权限授予用户对特定数据库中的表、视图等操作权限,如下表:

2.2 授予权限

授予权限的SQL命令为 GRANT,语法格式如下:

GRANT <权限>
ON <对象名>
TO <用户名或角色名>
[WITH GRANT OPTION]

[WITH GRANT OPTION] 表示获得用户权限的用户能将该权限赋予其他用户;
例子 3: 授予用 Tim 查询数据表 B 及修改 ID 的权限

grant select,update(ID)
on B
to Tim

2.3 收回权限

收回权限的SQL命令为REVOKE,语法格式如下:

REVOKE <权限>
ON <对象名>
FROM <用户名或角色名>

例子 4:收回用户 Tim 在数据表 B中修改 ID 的权限

revoke select,update(ID)
on B
to Tim

SQL Server 数据库之角色、管理权限相关推荐

  1. MS SQL Server数据库在线远程管理工具

    MS SQL Server数据库在线管理工具 MS SQL Server数据库以其优异的性能,被广泛使用,特别是政务,医疗行业.但是远程维护挺不方便的,目前有一款基于WEB的工具TreeSoft数据库 ...

  2. 超级好的Sql Server数据库开发与管理软件--Toad for SQL Server

    使用Toad系列数据库工具软件,可以使数据的开发更方便.快捷.网址为:http://www.toadsoft.com/.以前用Oracle开发,用的工具是pl/sql developer,后来数据库转 ...

  3. SQL Server - 数据库(创建,修改管理-删除)-T-SQL 语句

    数据库 创建数据库 语法 CREATE DATABASE database_name ON(NAME = data_logical_file_name , FILENAME = 'data_os_fi ...

  4. aws rds恢复数据库_使用AWS Glue将数据从AWS S3加载到AWS RDS SQL Server数据库

    aws rds恢复数据库 This article explains how to develop ETL (Extract Transform Load) jobs using AWS Glue t ...

  5. SQL Server数据库结构

    SQL Server数据库结构和管理 数据库物理存储结构 数据库文件和文件组 主数据库文件(Primary Database File):是数据库的起点,可以指向数据库中文件的其它部分.每个数据库都有 ...

  6. SQL Server中的角色(服务器级别和数据库级别角色)

    参考文献 http://msdn.microsoft.com/zh-cn/library/ms188659.aspx 服务器级别角色 为帮助您管理服务器上的权限,SQL Server 提供了若干角色. ...

  7. 怎么在服务器中修改sql权限设置密码,SQL server数据库的权限设置

    一.登录权限: SQL server的身份验证模式有以下两种: 1. Windows身份验证模式: 当使用Windows身份验证时,SQL server会使用操作系统中的Windows用户和密码.也就 ...

  8. SQL Server与Oracle对比学习:权限管理(一)

    http://blog.csdn.net/weiwenhp/article/details/8093661 我们发现我们现在的生活中到处是涉及到密码,你要记各种各样的密码.比如银行卡,邮件,QQ,微博 ...

  9. Sql Server数据库中的用户及权限配置,保障数据库安全

    最近有个朋友的网站被攻击,漏洞是比较过时的SQL注入,在帮修复的过程中,发现数据库用的是超级管理员用户sa,提高数据安全性和服务器安全性的措施之一便是降低web应用数据库用户的权限,回顾了一下Sql ...

最新文章

  1. Yii CGridView 基本使用(三)关联表相关字段搜索
  2. 011 smali语法详解
  3. java8 map reduce 分组_java8快速实现List转map 、分组、过滤等操作
  4. php 错误 异常,php中的异常和错误解析
  5. 力扣 求根到叶子节点数字之和
  6. [开发笔记]-使用jquery获取url及url参数的方法
  7. (补充知识)DLL 中 .DEF文件的使用
  8. anaconda和pythoncharm_Anaconda、TensorFlow安装和Pycharm配置详细教程,亲测有效!
  9. Android 垃圾回收机制★★★
  10. 等保2.0|二级等保和三级等保要求对比
  11. 随机效应与混合效应模型 SAS实践
  12. matlab sort函数
  13. 洛谷p1069 细胞分裂(noip2009普及组第三题,素数判断+筛法)
  14. 管理:重要性影响力方格
  15. 为什么计算机能读懂 1 和 0 ?
  16. 本地启动本地mysql_通过本地化启动并运行
  17. ES 之 Routing
  18. EChat(简易聊天项目)五、存储聊天记录中的图片
  19. 浏览器帧率(fps)对比:QQ,Firefox,Chrome,Edge
  20. UEditor富文本编辑器不显示问题

热门文章

  1. 甲骨文java培训怎么样,Java岗
  2. 数据大屏领导驾驶舱大数据分析UI1-4(PSD-持续更新)
  3. The Codeless Code: Case 5 Void(void本质是什么)
  4. 重庆邮电大学计算机2019湖北分数线,2019重庆邮电大学录取分数线多少?预测指南,重庆邮电大学分数线...
  5. 拼多多app是原生还是html,拼多多app下架了是怎么回事?原因及上线时间分析
  6. python数据分析案例2-1:Python练习-Python爬虫框架Scrapy入门与实践
  7. 网络技术——基础与5G
  8. 阿里云centos8安装rabbitMq
  9. 【资讯】辉煌十载!BDTC 2017 中国大数据技术大会在京盛大召开
  10. Python练习-2