服务器登录名:指有权限登录到某服务器的用户;如sa

服务器角色:指一组固定的服务器用户,默认有9组;

  • 登录名一定属于某些角色,默认为public
  • 服务器角色不容许更改
  • 登录后也不一定有权限操作数据库

数据库用户:指有权限能操作数据库的用户;

数据库角色:指一组固定的有某些权限的数据库角色;

数据库架构:指数据库对象的容器;如dbo

  • 数据库用户对应于服务器登录名以便登录者可以操作数据库
  • 数据库角色可以添加,可以定制不同权限  
  • 数据库架构,类似于数据库对象的命名空间,用户通过架构访问数据库对象

1.一个数据库用户可以对应多个架构(架构是表容器)。架构里面包含的是数据库表。

2.一个数据库角色有可能涉及多个架构。数据库角色对应的是权限。

3.一个数据库用户对应一个数据库角色。

4.登录名与数据库用户在服务器级别是一对多的;在数据库级别是一对一的。

5.一个角色可以有多个登录名,如操作系统的系统用户可以有多个。

服务器角色

public 

sysadmin--在 SQL Server 中进行任何活动。该角色的权限跨越所有其它固定服务器角色。

serveradmin --配置服务器范围的设置。

setupadmin --添加和删除链接服务器,并执行某些系统存储过程(如 sp_serveroption)。

securityadmin --管理服务器登录。

processadmin --管理在 SQL Server 实例中运行的进程。

dbcreator --创建和改变数据库。

diskadmin --管理磁盘文件。

bulkadmin --执行 BULK INSERT 语句。

数据库角色

public
--public 角色是一个特殊的数据库角色,每个数据库用户都属于它。public 角色: 
--捕获数据库中用户的所有默认权限。
--无法将用户、组或角色指派给它,因为默认情况下它们即属于该角色。
--含在每个数据库中,包括 master、msdb、tempdb、model 和所有用户数据库。
--无法除去。

db_owner 
--进行所有数据库角色的活动,以及数据库中的其它维护和配置活动。
--该角色的权限跨越所有其它固定数据库角色。

db_accessadmin 
--在数据库中添加或删除 Windows NT 4.0 或 Windows 2000 组和用户以及 SQL Server 用户。

db_datareader 
--查看来自数据库中所有用户表的全部数据。

db_datawriter 
--添加、更改或删除来自数据库中所有用户表的数据

db_ddladmin 
--添加、修改或除去数据库中的对象(运行所有 DDL)

db_securityadmin 
--管理 SQL Server 2000 数据库角色的角色和成员,并管理数据库中的语句和对象权限

db_backupoperator 
--有备份数据库的权限

db_denydatareader 
--拒绝选择数据库数据的权限

db_denydatawriter
--拒绝更改数据库数据的权限

先说sqlserver里面的数据库级别设置:

服务器级 -> 数据库级 -> 架构级 - > 数据对象级,比如说:Server.DataBase1.dbo.Table1;这里的意思就是Table1这个表属于dbo这个架构

,dbo这个架构属于DataBase1这个数据库,DataBase1这个数据库属于Server这个服务器。里面的架构其实就是一个容器,好像就是面向对象里面的

命名空间,一个用户可以拥有多个架构,但是不能对没有拥有的架构进行操作。一个数据库角色,是对不同架构里面数据对象的权限组织,也有可能涉及到

多个架构,当某一个用户被转换成一种数据库角色的时候,假如这个用户本身不拥有某一个架构而该数据库角色拥有,那它当它对那个架构进行操作的时候就会出错。

角色,角色意味着一种身份,在数据库服务器里是对一系列权限的组织。

登录名与用户在服务器级是一对多的,而在数据库里是一对一的。比如说Server这个服务器有4个数据库,DB1,DB2,DB3,DB4,每个数据库都有一个用户USER1,USER2,USER3,USER,在创建一个登录名my的时候可以通过用户映射的操作,为这个登录名在每一个具体的数据库中指定用户,比如可以如下指定my在DB1中的用户是USER1,它是在使用数据库的时候是唯一的,my在不能再DB1中切换用户,除非重新指定它对DB1数据库的用户映射。

用户一般是受权限管理的,在新建一个用户的时候是这样的:

需要指定它的登录名,这也是映射操作的一部分,同时可以指定它的默认架构,如不指定就是dbo,也可以指定它拥有的其它架构和角色成员,不过没有默认数据库角色。

下面看看新建一个角色:

在新建的时候可以指定这个角色拥有那些架构,但是这些结构必须是这个数据库里面的,默认架构为当前用户使用的架构,比如当前用户的架构是dbo,则在角上权限定义时所使用的默认架构就是dbo,当然也可以指定其它的架构。

新增的数据库登陆名, 登陆后不可以修改自己的服务器角色使自己的权限变大(除非是sysadmin角色 因为它的权限已经是最大 ),同样也不能修改 映射到数据库上的用户的角色是其权限变大(本身是dbowner数据库角色的 可以修改 因为dbowner角色的权限已经是最大)

一句话: (登录名、登录账户)自己不能修改自己登录名的服务器角色  以及 自己登录名映射的数据库用户名的角色 使其权限变大 ,只允许改变角色使权限变小(ps: 估计没人愿意这么做)

新增某一数据库用户步骤:

step1:新增服务器登陆账号(选择安全性=>登陆名 => 右击新增登陆名)

step2:新增该账号对应目标数据库的用户名(默认和登陆账号名相同)同时配置该用户数据库角色(备注:以后也可以去 目标数据库=>安全性=>右击目标用户名=>属性 => 修改其对应的权限 和在登录名映射那里修改时等效同步的)

删除某一数据库用户步骤刚好相反:

step1:先删除对应目标数据库的用户名(选择数据库=>目标数据库=>安全性=>右击目标用户选择删除)

step2:再删除服务器登陆名(选择安全性=>登陆名=>右击目标登陆名选择删除)

以 sysadmin服务器角色的账号登陆的用户,可以修改添加任何登陆账号、密码,登陆方式等。

如果 以windows验证登陆方式登陆不上的,可能是 当前windows用户名 不在  登陆账号里  不属于登陆账号, 此时可以用具有sysadmin角色的账号先登陆sql server,添加和windows登陆用户名相同账号,记得前面要加计算机名称,格式:计算机名称\当前windows登陆用户名,如“PC_LXF/Administrator” ,验证方式选择  windows身份验证即可使用windows验证登陆啦。

SQL——基础概念的更多相关文章

  1. 【读书笔记】--SQL基础概念复习

    主键:每个表,只能有一个主键,主键不能为NULL,且必须是唯一的.主键最好是由单个列组成,但这不是必须的,主键也可以是由多个列组成,如果表的两个列组合在一起能唯一标识一个行,而单个列不能,则可以将这两 ...

  2. SQL基础概念-指令

    1,MySQL:(structured query  language)用于访问和处理数据库的标准语言      2,什么是 SQL?      SQL 指结构化查询语言      SQL 使我们有能 ...

  3. SQL 基础学习(2) Joining 和function , 作业没有做,需要看百宝箱。NOsql的概念

    SQL 基础学习(2) Joining 可以同时关联(joining)多张表进行复杂的查询. 相比于用Rails捞出数据再用Ruby进行过滤组合,使用SQL更加高效,节能. 以下是 users has ...

  4. 【SQL】基础概念

    1.. In order to find the rows where the value for a column is or is not NULL, you would use IS NULL  ...

  5. SQL基础之数据库

    1.基础概念 首先要强调一点,就是我们的数据库是由数据库系统来管理的,我们登入数据库并在其上进行操作时最终均要通过数据库系统来完成.可以理解成在数据库上进行操作的是客户端,数据库系统是服务端.一个数据 ...

  6. 第一章 SQL基础

    第一部分:SQL基础1. 为什么学习SQL自人类社会形成之日起,社会的运转就在不断地产生和使用各种信息(文献.档案.资料.数据等):在如今所谓的信息时代,由于计算机和互联网的作用,信息的产生和使用达到 ...

  7. Java面试题精选(一)基础概念和面向对象

    --   基础概念和面向对象   --      全程将为大家剖析几大部分内容,由于学习经验有限,望大家谅解并接受宝贵的意见: 基础概念部分     ★★   : 常出现的高频率单词的区别理解(异常. ...

  8. JavaWeb开发技术基础概念回顾篇

    JavaWeb开发技术基础概念回顾篇 第一章 动态网页开发技术概述 1.JSP技术:JSP是Java Server Page的缩写,指的是基于Java服务器端动态网页. 2.JSP的运行原理:当用户第 ...

  9. 基础概念:Oracle数据库、实例、用户、表空间、表之间的关系

    基础概念:Oracle数据库.实例.用户.表空间.表之间的关系 数据库: Oracle数据库是数据的物理存储.这就包括(数据文件ORA或者DBF.控制文件.联机日志.参数文件).其实Oracle数据库 ...

随机推荐

  1. webstorm 设置IP 访问 手机测试效果

    http://www.cnblogs.com/gulei/p/5126383.html 前端开发中,经常需要将做好的页面给其他同事预览或手机测试,之前一直用的第三方本地服务器usbwebserver, ...

  2. 使用Auto Layout处理比例间距问题

    使用Auto Layout处理比例间距问题 Auto Layout 是一个掌握起来很具有挑战性的东西.iOS 9引入的 Stack Views和 layout 锚点有一些帮助,但是明白如何创建特定的 ...

  3. iOS UILabel文字缩进

    使用NSMutableParagraphStyle实现label文字首尾的缩进 NSMutableParagraphStyle *paraStyle = [[NSMutableParagraphSty ...

  4. 三星note3 N900刷机包 4.4.2 ZSUDNE3 官方原汁原味 稳定流畅

    ROM介绍 此ROM基于最新的4.4.2 ZSUDNE3 制作,加入一些必要功能,其它性能基本与官方无差距,各方面感觉都非常不错了.此ROM本人自用,所以制作风格有点个人倾向.不论什么建议或者问题欢迎 ...

  5. 基于chyh1990/caffe-compact在windows vs2013上编译caffe步骤

    1.      从https://github.com/chyh1990/caffe-compact下载caffe-compact代码: 2.      通过CMake(cmake-gui)生成vs2 ...

  6. 面试题三:设计包括 min 函数的栈。

    3.设计包括 min 函数的栈. 定义栈的数据结构,要求加入一个 min 函数.可以得到栈的最小元素. 要求函数 min.push 以及 pop 的时间复杂度都是 O(1). 思路分析: a.要想一个 ...

  7. 【BZOJ1043】[HAOI2008]下落的圆盘 几何

    [BZOJ1043][HAOI2008]下落的圆盘 Description 有n个圆盘从天而降,后面落下的可以盖住前面的.求最后形成的封闭区域的周长.看下面这副图, 所有的红色线条的总长度即为所求.  ...

  8. Sping中Bean配置的深入探讨

    一.p命名空间的使用 Spring 从 2.5 版本开始引入了一个新的 p 命名空间,可以通过 <bean> 元素属性的方式配置 Bean 的属性.使用 p 命名空间后,基于 XML 的配 ...

  9. Hibernate ManyToOne Mappings 多对一关联映射

    Hibernate ManyToOne Mappings 多对一关联映射 Hibernate框架的使用步骤: 1.创建Hibernate的配置文件(hibernate.cfg.xml)2.创建持久化类 ...

  10. java多线程-多线程常识

    线程和进程的区别是什么?进程是一个正在运行的软件程序,打开资源管理器可以看到好多正在运行的进程,而线程则是程序中的顺序控制流,只能使用分配给程序的资源和环境.一个进程至少存在一个线程(主线程). 在j ...