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安全概念简析的更多相关文章

  1. 关于SQL\SQL Server的三值逻辑简析

    在SQL刚入门的时候,我们筛选为某列值为NULL的行,一般会采用如下的方式: SELECT * FROM Table AS T WHERE T.Col=NULL  www.2cto.com   而实际 ...

  2. SQL Server 死锁概念和分析

    锁的概念 锁是什么 锁是数据库中在并发操作情形下保护资源的机制.通常(具体要看锁兼容性)只有锁的拥有者才能对被锁的资源进行操作,从而保证数据一致性. 锁的概念可分为几部分 锁资源(锁住什么) 锁模式( ...

  3. SQL Server Alwayson概念总结

    一.alwayson概念 “可用性组” 针对一组离散的用户数据库(称为“可用性数据库” ,它们共同实现故障转移)支持故障转移环境. 一个可用性组支持一组主数据库以及一至八组对应的辅助数据库(包括一个主 ...

  4. SQL Server“复杂”概念之理解

    用惯了Oracle的人,接触SQL Server中的概念时,会觉得比较难理解,甚至感觉有点“绕”,这是因为Oracle中将某些其他数据库中存在的概念给简化了,这里就拿两个最常见的概念来举例说明:1.s ...

  5. Sql Server 游标概念与实例

    引言 先不讲游标的什么概念,看如下Sql Server2008 图例: 需求:两张表的O_ID是一一对应的,现在求将加薪的工资+原来的工资=现在的工资,也就是O_Salary=O_Salary+A_S ...

  6. sql server dba概念系列引用

    原文转自:https://www.cnblogs.com/gaochundong/p/everyone_is_a_dba_sqlserver_architecture.html <人人都是 DB ...

  7. mysql体系结构和sql查询执行过程简析

    一: mysql体系结构 1)Connectors 不同语言与 SQL 的交互 2)Management Serveices & Utilities 系统管理和控制工具 备份和恢复的安全性,复 ...

  8. 利用pl/sql执行计划评估SQL语句的性能简析

    一段SQL代码写好以后,可以通过查看SQL的执行计划,初步预测该SQL在运行时的性能好坏,尤其是在发现某个SQL语句的效率较差时,我们可以通过查看执行计划,分析出该SQL代码的问题所在.  那么,作为 ...

  9. VMware 虚拟化编程(1) — VMDK/VDDK/VixDiskLib/VADP 概念简析

    目录 目录 VMDK VDDK VixDiskLib VADP VMDK VMDK(VMware's Virtual Machine Disk Format,VMware 虚拟磁盘格式):简单来说就是 ...

随机推荐

  1. Sep14学习笔记_pipe() & fork()

    第一次用博客园,昨晚编辑器一直没打开,今天打开了,把昨天的内容先补一下 关于parent和child之间的数据传输: If the parent wants to receive data from ...

  2. SQL_Server_2008修改sa密码的方法

    转载自:http://blog.csdn.net/templar1000/article/details/20211191 1. 先用Window身份验证方式登陆进去,选择数据库实例,右键选择属性—— ...

  3. emgucv文字识别

    今天讲如何通过emgucv中的函数来实现文字识别.总体的过程可以分为以下几步: 1.读取要识别的图片 2.对图片进行灰度变换 3.调用emgu.cv.ocr的类tessract中的recognize方 ...

  4. 杭电acm 1002 大数模板(一)

    从杭电第一题开始A,发现做到1002就不会了,经过几天时间终于A出来了,顺便整理了一下关于大数的东西 其实这是刘汝佳老师在<算法竞赛 经典入门 第二版> 中所讲的模板,代码原封不动写上的, ...

  5. html基础二

    空标签 <br>用于分行 <hr>在 HTML 页面中创建水平线 “ctrl+/”用于在代码输入时注释  注释掉的内容将不会在浏览器上显示  这样方便在代码输入提高可读性 方便 ...

  6. 《C标准库》——之<string.h>

    <string.h>里的字符串操作函数是经常要用到的,因此阅读了源码后自己实现了一些: 拷贝函数 void * Mymemcpy(void * sDst, const void * sSr ...

  7. UVa 12166 修改天平

    https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  8. Postfix邮件服务器搭建及配置

    一.邮件服务器(Mail Server)的传输协议 1.简单邮件传输协议(SMTP):Simple Mail Transger Protocol 2.扩展的简单邮件传输协议(ESMTP):Extend ...

  9. 新手之自动转存DLL——20150626星期五

    -------------------菜鸟错例一:--------------------------------------------- int a=0; if() { int a = GetTy ...

  10. c#选择文件文件夹

    C#选择文件 OpenFileDialog fileDialog = new OpenFileDialog(); fileDialog.InitialDirectory = "C://&qu ...