如题,本文简记一下SQL Sever里面登录用户(login)的创建,数据库用户(DBUser)的创建,以及给数据库用户分配权限(Grant)。

数据库有三层保护机制:

第一层:登录用户以及登录密码的保护,比如:你拥有进去小区大门的权限;

第二层:数据库的权限,比如:小区有很多楼栋,你只拥有进去指定楼栋的权限;

第三层:数据库操作的权限,比如:你进了指定的楼栋之后,只能做被允许的事情。

第一层里面,用户登录分为windows登录与SQLSever登录,windows登录不说,主要说SQLSever登录。

--第一层:登录用户创建--可以进小区了
use master
go
exec sp_addlogin 'test','123456'
--exec sp_droplogin 'test' --删除登录用户
--第二层:数据库用户创建--可以进房子了
use TSMS
go
exec sp_grantdbaccess 'test','testUser01'
--exec sp_dropuser 'testUser01' --删除数据库用户
--第三层:权限分配--可以在房子里干一些已被许可的事情了
use TSMS
go
grant select on Students to testUser01
--revoke select on Students to testUser01 --权限收回

ok,现在知道如何创建与删除登录用户、数据库用户、数据库权限了。继续补充一点东西,一个登录用户如果需要取得多个DB的操作权限,就需要创建多个DBUser,简单说:一个login可以拥有多个DBUser,每个DBUser对应一个DB。这就可以解释,在sa账号下,为什么每个数据库都有一个dbo(DB Owner)了,这样sa账号就可以操作所有数据库啦!

指定DB→安全性→查看用户

继续引入问题:如果登录用户超级多,难道要一个一个来给他们赋予权限?那太挫了!SQLSever定义了一组用户角色来解决这些问题,如下:

角色赋予与删除:

代码示例:

--用户角色管理
use TSMS
go
exec sp_addrolemember 'db_owner','testUser01' --赋予db_owner权限
exec sp_droprolemember 'db_owner','testUser01' --删除db_owner权限

SQLSever--基础学习--创建登录用户&创建数据库用户&分配权限的更多相关文章

  1. MySql添加用户,新建数据库,用户授权,删除用户,修改密码

    转自:http://www.cnblogs.com/fly1988happy/archive/2011/12/15/2288554.html MySql中添加用户,新建数据库,用户授权,删除用户,修改 ...

  2. Chapter 2 User Authentication, Authorization, and Security(8):创建映射到登录名的数据库用户

    原文出处:http://blog.csdn.net/dba_huangzj/article/details/38944121,专题目录:http://blog.csdn.net/dba_huangzj ...

  3. sqlserver使用SQL语句创建数据库登录对象、数据库用户以及对为该用户赋予操作权限

    --创建登录名USE masterGO--PbMaster,密码123456CREATE LOGIN PbMaster with PASSWORD='1234GO --创建数据库用户USE E_Mar ...

  4. CREATE USER - 创建一个新的数据库用户帐户

    SYNOPSIS CREATE USER name [ [ WITH ] option [ ... ] ] where option can be: SYSID uid | [ ENCRYPTED | ...

  5. 【MySQL】MySQL无基础学习和入门之一:数据库基础概述和实验环境搭建

    数据库基础概述  大部分互联网公司都选择MySQL作为业务数据存储数据库,除了MySQL目前还有很多公司使用Oracle(甲骨文).SQLserver(微软).MongoDB等. 从使用成本来区分可以 ...

  6. SQL Server客户端登录名与数据库用户关联

    数据库迁移之后,在新的SQL Server客户端工具设置关联时,往往会报错: 用户.组或角色 'XXX' 在当前数据库中已存在. 解决方法: 首先介绍一下sql server中“登录”与“用户”的区别 ...

  7. MySql中添加用户,新建数据库,用户授权,删除用户,修改密码

    1.新建用户 登录MYSQL: @>mysql -u root -p @>密码 创建用户: mysql> insert into mysql.user(Host,User,Passw ...

  8. MySql 5.7中添加用户,新建数据库,用户授权,删除用户,修改密码

    转自http://blog.csdn.net/w690333243/article/details/76576952 1.新建用户 创建test用户,密码是1234. MySQL -u root -p ...

  9. es6零基础学习之项目目录创建(一)

    和大家分享一下在学习es6的过程中所积累的东西,也希望更多的朋友能够互相学习 首先创建项目目录 打开你的命令行,什么文件下都可以,大家请随意,我自己用的git,输入 mkdir es6 创建一个完整的 ...

  10. CAS单点登录之mysql数据库用户验证及常见问题

    前面已经介绍了CAS服务器的搭建,详情见:搭建CAS单点登录服务器.然而前面只是简单地介绍了服务器的搭建,其验证方式是原始的配置文件的方式,这显然不能满足日常的需求.下面介绍下通过mysql数据库认证 ...

随机推荐

  1. mac 启动mysql

    sudo /usr/local/mysql/support-files/mysql.server stop sudo /usr/local/mysql/support-files/mysql.serv ...

  2. vue中使用定时器时this指向

    箭头函数中的this指向是固定不变(定义函数时的指向),在vue中指向vue; 普通函数中的this指向是变化的(使用函数时的指向),谁调用的指向谁.   箭头函数: let timerOne = s ...

  3. 微信小程序入门与实战 常用组件API开发技巧项目实战*全

    第1章 什么是微信小程序? 第2章 小程序环境搭建与开发工具介绍 第3章 从一个简单的“欢迎“页面开始小程序之旅 第4章 第二个页面:新闻阅读列表 第5章 小程序的模板化与模块化 第6章 构建新闻详情 ...

  4. chtMultiRegionSimpleFoam求解器的热源不在边界上【翻译】

    翻译自:CFD-online 帖子地址:http://www.cfd-online.com/Forums/openfoam-solving/126777-chtmultiregionsimplefoa ...

  5. d3.js之树形折叠树

    1.效果 children和_children 2.技术分解 2.1折叠函数 // (1) 递归调用,有子孙的就把children(显示)给_children(不显示)暂存,便于折叠, functio ...

  6. Go 与 JSON

    Go 中通过标准库encoding/json.encoding.xml.encoding/asn1和其他库对 JSON.XML.ASN.1 和其他类型的标准的编码和解码提供了良好的支持,这里对使用最多 ...

  7. jQuery插件fontIconPicker配合FontAwesome字体图标库的使用

    同样先上效果图: 怎么样,是不是很好看,jquery fontIconPicker这个插件做的很不错,支持分类,搜索,还有分页功能,可以自定义分页,具体的使用方法我就不一介绍了,我只说一下如何使用fo ...

  8. Windows服务器下,Tomcat制作成服务自启动,跑不起来,报内存溢出。

    测试过不行 使用服务启动后,tomcat运行时会抛出各种内存溢出错误,于是我第一时间想到的是去修改catalina.bat文件中的内存设置,但是然并卵,于是我又尝试不用服务,去使用startup.ba ...

  9. VMware与宿主机同一网段

    将VMware做为一个物理的虚拟机,设置网段与宿主机在同一子网.

  10. 淘宝npm镜像安装失败的问题

    一:背景 心血来潮要简单搞一搞前端运行.打包的东西.结果第一步通过npm安装淘宝npm的时候就出问题了,如图: 二:解决方法 图片显示有点垃圾,但是看出来“Missing write access t ...