码迷,mamicode.com
首页 > 数据库 > 详细

SQLSever--基础学习--创建登录用户&创建数据库用户&分配权限

时间:2017-12-12 01:05:18      阅读:253      评论:0      收藏:0      [点我收藏+]

标签:简单   Owner   revoke   很多   gpo   分配权限   access   window   evo   

如题,本文简记一下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权限

 

 代码经过测试,测试环境:Win10+SQLSever 2014。

SQLSever--基础学习--创建登录用户&创建数据库用户&分配权限

标签:简单   Owner   revoke   很多   gpo   分配权限   access   window   evo   

原文地址:http://www.cnblogs.com/EasonDongH/p/8025586.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!