---数据库的安全管理



--登录:
SQL Server数据库服务器登录的身份验证模式:
1)Windows身份验证
2)Windows和SQL Server混合验证

--角色:
分类:
1)服务器角色。服务器角色是固定的服务器功能,用户不能创建和修改服务器角色。可以将服务器的登录账号添加服务器角色中,使其具备服务器角色的权限。
2)数据库角色。数据库角色的作用对象是某一个数据库,用来将登录数据库的用户添加到数据库角色中,使其具备数据库角色的功能。
  --数据库角色包括固定数据库角色、标准数据库角色和应用程序角色。
  ♦固定数据库角色:是系统给出的,不能删除,可以添加成员;
  ♦标准数据库角色:可以创建、删除、添加成员;
  ♦应用程序角色:是一种需要定制口令的特殊角色,可以删除,不可以添加成员。

--权限:
概述:在SQL Server数据库管理系统中,权限是指用户对数据库或数据表执行的操作。

分类:按对权限设置方法的不同,可以将权限分为隐含权限、对象权限和语句权限三种类型。

1)隐含权限
注:指由系统定义,不需要授权就拥有的权限。不需要被明确的授予,是特定服务器对象和数据库对象的内置权限。数据库的服务器、数据库的所有者和数据库对象的所有者都拥有隐含权限。

2)对象权限
注:指数据库的所有者对数据库对象所授予的“授予”、“禁止”或“撤销”权限。包括是否允许用户读数据表或试图执行select、update、delete或insert操作;是否允许用户创建数据库、创建表、执行存储过程、备份数据库等操作。

3)语句权限
注:指使用T-SQl语言中的数据库定义语言对数据库对象授予、禁止或撤销权限。一般只能由数据库所有者(dbo)和sa用户使用语句权限。
  grant、deny和revoke命令分别表示授予、禁止和撤销权限。

  ♦授予权限:
grant 操作命令 [on] 对象名 to 用户名

例1:(将向“商品信息表”中添加数据的权限授予数据库登录用户“db_user01”)
grant insert on 商品信息表 to db_user01
例2:(将修改“客户信息表”的“联系电话”字段和“邮箱”字段的权限授予用户“db_user01”)
grant update (联系电话,邮箱) on 客户信息表 to db_user01

  ♦禁用权限:
注:禁用权限不仅禁止用户或角色的某些权限,还禁止这些用户或角色从其他角色继承被禁止的权限。
deny 操作命令 [on] 对象名 to 用户名

例:(禁止用户“db_user01”对“客户信息表”执行删除操作)
deny delete table on 客户信息表 to db_user01

  ♦撤销权限
注:撤销权限只删除用户或角色拥有的某些权限,并不禁止用户或角色通过其他方式继承已被撤销的权限。
revoke 操作命令 [on] 对象名 from 用户名

例:(撤销用户“db_user01”创建数据库的权限)
revoke create database from db_user01


注:"--"可看成说明或者注释文本

SQL Server 数据库的安全管理(登录、角色、权限)的更多相关文章

  1. Microsoft SQL Server 数据库服务器管理维护角色

    固定服务器角色: 按照从最低级别的角色(bulkadmin)到最高级别的角色(sysadmin)的顺序进行描述: Bulkadmin:这个服务器角色的成员可以运行BULK INSERT语句.这条语句允 ...

  2. SQL Server 2014 中新建登录及权限分配【界面版】

    本篇经验将和大家介绍分配SQL Server 2014 中,新建登录用户,分配权限,并指定该用户的数据库的方法,希望对大家的工作和学习有所帮助! 方法/步骤 1 打开 MS SQL Server Ma ...

  3. SQL语句操作SQL SERVER数据库登录名、用户及权限

    要想成功访问 SQL Server 数据库中的数据, 我们需要两个方面的授权: 获得准许连接 SQL Server 服务器的权利: 获得访问特定数据库中数据的权利(select, update, de ...

  4. SQL Server中查询用户的对象权限和角色的方法

    --SQL Server中查询用户的对象权限和角色的方法 -- 查询用户的object权限 exec sp_helprotect NULL, 'sa' -- 查询用户拥有的role exec sp_h ...

  5. SQL server数据库的密码策略与登录失败锁定策略

    SQL server数据库本身没有密码复杂度策略设置,它是使用Windows操作系统的校验函数来校验账户密码的,所以查看SQL server数据库密码复杂度需要结合操作系统本地安全策略的密码策略来看. ...

  6. Sql Server来龙去脉系列 必须知道的权限控制核心篇

    最近写了<Sql Server来龙去脉系列  必须知道的权限控制基础篇>,感觉反响比较大.这可能也说明了很多程序猿对数据库权限控制方面比较感兴趣,或者某些技术点了解的没有很透彻. 有些人看 ...

  7. SQL Server数据库学习总结

    经过一段时间的学习,也对数据库有了一些认识,数据库基本是由表,关系,操作组成:对于初学者首先要学的     一图胜“十”言:SQL Server 数据库总结 一个大概的总结 经过一段时间的学习,也对数 ...

  8. SQL server 数据库基本知识

    SQL server 数据库基本知识 一.数据库: 分为层次型.网状型.关系型.现在通常都是使用关系型 常用的有:SQLserver.Oracle.DB2.Access.Visual Foxpro.M ...

  9. Sql Server数据库基础

    --------------------------------------第一章  Sql Server数据库基础------------------------------------------ ...

随机推荐

  1. 扩展Redis的Lua调用方式

    Redis是支持Lua脚本的,但是我以为并不方便. 1. SCRIPT LOAD一个字符串拿到一个SHA,首先这个Lua script脚本就很难拿到.Linux一般用cat什么的.但是你作为PHP怎么 ...

  2. sqlserver无ldf日志文件附加的方法(数据库没有完全关闭,无法重新生成日志)

    数据库的ldf日志文件被删了,直接附加时报错:数据库没有完全关闭,无法重新生成日志 那怎么恢复数据呢?方法如下: 在数据库中新建一个同名的数据库(文件路径要与原来的相同,ldf的文件名也要相同),然后 ...

  3. DHTMLX-Grid

    DHTMLX - Grid 介绍 dhtmlxGrid是一个灵活的.易于使用的JavaScript网格组件,可以创建DHTML表与丰富的编辑- sensing,固定的多行页眉和页脚,可调整大小的.可拖 ...

  4. Thread.join简单介绍

    百度了一下,终于明白了.这个解释最简单: 前提:join()方法肯定是被某个线程调用的.   A线程正在执行,突然执行的时候碰到了B.join(), 那么,A线程就必须要等到B线程执行完之后才能执行. ...

  5. js运动框架完成块的宽高透明度及颜色的渐变

    了解了运动框架完成块元素的宽高和透明度的变化的原理,我想着写一个颜色的变化来练习一下,不想写了很长时间才写出来,跟各位分享一下. 颜色的变化是通过三元素渐变的方式完成的,通过构造json,使当前的颜色 ...

  6. oracle and 和 or

    源地址:https://zhidao.baidu.com/question/350891282.html (FirstName='Thomas' OR FirstName='William') AND ...

  7. 由于C++编译器的分析机制所导致的声明问题

    假设我们想声明一个STL的vector类型的变量,读入文件里的信息: std::ifstream in("data.txt"); std::vector<int> da ...

  8. XMPP 和 OpenFire

    XMPP XMPP(可扩展消息处理现场协议)是基于可扩展标记语言(XML)的协议,它用于即时消息(IM)以及在线现场探测.是一种数据传输协议. XMPP的前身是Jabber,一个开源形式组织产生的网络 ...

  9. 关于URLEnCode,URLDeCode,Base64,公钥私钥

    1.Base64非常适合http.mime协议,所以在一些类似webservice中可以用Base64. 用法如下:传出去之前先 Convert.ToBase64String(encryptedByt ...

  10. 【摘】Mysql备份还原数据库之mysqldump实例及参数详细说明

    原文http://www.cnblogs.com/xuejie/archive/2013/01/11/2856911.html   我们在运营项目的过程中肯定会遇到备份数据库,还原数据库的情况,我们一 ...