SQL Server安全概念简析
I. 登录名与用户名
登录名: 访问数据库服务器的账户。登录名可以登录到服务器,但不能直接访问数据库内容。数据库连接串中的用户名应配置为登录名。每个登录名的定义存放在master数据库的syslogins表中。
用户: 访问数据库内容的账户。一个登录名可以映射数据库中的一个用户(且仅能映射一个),从而使登录名具有了访问数据库的权限。用户定义信息存放在每个数据库的sysusers表中。
SQLSERVER把登录名与用户的关系称为映射。用登录名登录SQLSERVER后,在访问各个数据库时,SQLSERVER会自动查询此数据库中是否存在与此登录名映射的用户名,若存在就使用此用户的权限访问此数据库,若不存在就是用guest用户访问此数据库。
可以把一个数据库服务器理解为一个大楼,而每个数据库就是一个房间。所以登录名就是进入大楼的钥匙,而用户是进入房间的钥匙。有人会质疑,为什么要设两把钥匙,而不是直接分配房间的钥匙。有一个不错的解释是:“大楼的钥匙可以在大楼内建立房间/删除房间,以及配置整个大楼的安保等功能。而用户只能对自己的房间进行收拾。”
参见:
http://www.cnblogs.com/ibrahim/archive/2010/06/21/sqlserver_loginname_username.html
http://bbs.csdn.net/topics/360239408?page=1
II. 角色与架构
服务器角色: 对一组服务器操作权限的定义。一个登录名具有某一服务器角色就意味着此登录名具有此角色所定义的操作权限。
数据库角色: 对一组数据库操作权限的定义。一个用户具有某一数据库角色就意味着此用户具有此角色所定义的操作权限。
架构: 指数据库对象的容器,相当于数据库对象的命名空间。用户通过架构访问数据库对象。(在访问数据库对象时如果不加构架限制,则缺省设为“dbo”。)
一个数据库角色或用户拥有某一架构意味着此角色或用户有权访问此架构下的所有对象。系统预定义的每个数据库角色(除public)都拥有一个同名的架构,且此拥有关系不能修改。
参见:
http://www.cnblogs.com/50614090/archive/2010/12/16/1908636.html
参见一篇讨论较充分的文章(后面有一些重要的脚本命令说明):
http://blog.csdn.net/yu0089/article/details/9195295
SQL Server安全概念简析的更多相关文章
- 关于SQL\SQL Server的三值逻辑简析
在SQL刚入门的时候,我们筛选为某列值为NULL的行,一般会采用如下的方式: SELECT * FROM Table AS T WHERE T.Col=NULL www.2cto.com 而实际 ...
- SQL Server 死锁概念和分析
锁的概念 锁是什么 锁是数据库中在并发操作情形下保护资源的机制.通常(具体要看锁兼容性)只有锁的拥有者才能对被锁的资源进行操作,从而保证数据一致性. 锁的概念可分为几部分 锁资源(锁住什么) 锁模式( ...
- SQL Server Alwayson概念总结
一.alwayson概念 “可用性组” 针对一组离散的用户数据库(称为“可用性数据库” ,它们共同实现故障转移)支持故障转移环境. 一个可用性组支持一组主数据库以及一至八组对应的辅助数据库(包括一个主 ...
- SQL Server“复杂”概念之理解
用惯了Oracle的人,接触SQL Server中的概念时,会觉得比较难理解,甚至感觉有点“绕”,这是因为Oracle中将某些其他数据库中存在的概念给简化了,这里就拿两个最常见的概念来举例说明:1.s ...
- Sql Server 游标概念与实例
引言 先不讲游标的什么概念,看如下Sql Server2008 图例: 需求:两张表的O_ID是一一对应的,现在求将加薪的工资+原来的工资=现在的工资,也就是O_Salary=O_Salary+A_S ...
- sql server dba概念系列引用
原文转自:https://www.cnblogs.com/gaochundong/p/everyone_is_a_dba_sqlserver_architecture.html <人人都是 DB ...
- mysql体系结构和sql查询执行过程简析
一: mysql体系结构 1)Connectors 不同语言与 SQL 的交互 2)Management Serveices & Utilities 系统管理和控制工具 备份和恢复的安全性,复 ...
- 利用pl/sql执行计划评估SQL语句的性能简析
一段SQL代码写好以后,可以通过查看SQL的执行计划,初步预测该SQL在运行时的性能好坏,尤其是在发现某个SQL语句的效率较差时,我们可以通过查看执行计划,分析出该SQL代码的问题所在. 那么,作为 ...
- VMware 虚拟化编程(1) — VMDK/VDDK/VixDiskLib/VADP 概念简析
目录 目录 VMDK VDDK VixDiskLib VADP VMDK VMDK(VMware's Virtual Machine Disk Format,VMware 虚拟磁盘格式):简单来说就是 ...
随机推荐
- Some thing about Graph
Learning CNNs for Arbitrary Graphs (Graph-like data): Learning Convolutional Neural Networks for Gra ...
- 两个list取不同值
转自同名博文,未知真正出处,望作者见谅 如题:有List<String> list1和List<String> list2,两个集合各有上万个元素,怎样取出两个集合中不同的元素 ...
- Eclipse/IDEA使用小技巧
使用IDEA,先将keymap改为eclipse形式 1.搜索技巧: f4:列举所有类树状结构 Ctrl+F:搜索特定词 Ctrl+T:列举所有子类 Ctrl+O:快速检索想要的方法 Ctrl+Shi ...
- C(++) Websocket实现扫码二维码登录---GoEasy
最近在做一个扫码登录功能,为此我还在网上搜了一下关于微信的扫描登录的实现方式.当这个功能完成了后,我决定将整个实现思路整理出来,方便自己以后查看也方便其他有类似需求的程序猿些. 要实现扫码登录我们需要 ...
- 在AndroidStudio不能找到so文件问题:couldn't find libweibosdkcore.so
解决步骤已经写到我的公众号,二维码在下面. 欢迎观看我的CSDN学院课程,地址:http://edu.csdn.net/course/detail/2877 本人联系方式: 更多精彩分享,可关注我的微 ...
- window.onload用法详解:
网页中的javaScript脚本代码往往需要在文档加载完成后才能够去执行,否则可能导致无法获取对象的情况,为了避免这种情况的发生,可以使用以下两种方式: 一.将脚本代码放在网页的底端,这样在运行脚本代 ...
- 替换节点及replaceEach方法
需求: 为所有的 li 节点添加 onclick 响应函数实现 city 子节点和 game 子节点对应位置的元素的互换 window.onload = function(){ //自定义互换两个节点 ...
- pvoid64 pvoid
如果需要某一个结构体,既在kernel space用,又在user space用,如 typedef struct { PVOID data; int size; }binary,pbinary; 上 ...
- Codeforces Round #361 Jul.6th A题 ☺译
A.迈克和手机 当迈克在沙滩上游泳的时候,他意外的把他的手机扔进了水里.不过你甭担心因为他立马买了个便宜些的代替品,这个代替品是老款九键键盘,这个键盘只有十个等大的数字按键,按以下方式排列: 1 2 ...
- fopen中r+和w+的区别
r+: Open for reading and writing. The stream is positioned at the beginning of the file. w+:Open ...