Sql Server 2008 之角色,登录名,用户和权限

之前在处理Sql Server数据库的时候,经常被一些角色,权限登录名之类的搞来搞去,现在做个总结。本文以Sql Server 2008 R2 企业版为测试机,进行演示。
一 登陆名 login

    通过创建登陆名,用户就进入到数据库了,代码如下:

-- 1 创建登陆名 BoyYuan
create login [BoyYuan] with password = '123456', default_database = [PeoplePartition]  
然后在SQL Server Management Studio(以下简称SSMS)中看到 BoyYuan


然后,通过登陆界面,输入 Boyyuan  密码 123456。

注意:这里的BoyYuan是在“安全性”节点下,跟“数据库”节点是属于同一层。

就能顺利登陆了,但是,除了默认的数据库 PeoplePartition,之外,其他的数据库的内容都不能看到,而且 PeoplePartition内的很多对象都不能看到。这个是因为角色、权限的问题,下面详细讲述。    

二  角色(Role)

一些数据库的对象,比如表Table ,视图View , 存储过程Produce 的权限很多都是通过角色来分配。

sql语句如下:

-- 2 创建角色 Role_KK
create role [Role_KK]
然后给角色Role_KK赋予权限:


注意:这个Role_KK,是在数据库PeoplePartition下面的,也就是说,这个角色是跟PeoplePartition关联。


-- 3 角色赋权限,其中BoysNames为PeoplePartition中的表
grant select,insert,update on dbo.BoysNames to [Role_KK]

由于权限跟角色相关,需要把角色付给相应的用户(User),那么这个User才能进行相应的操作。


三 用户(User)

-- 4 创建用户,与登陆名关联
create user [User_Boyyuan] for login [BoyYuan]
通过创建了 用户,并且与登陆名关联,这时候就可以把 角色赋给该用户了,一般情况下 用户(User)和登录名(Login)往往用相同的名字,我这边是为了测试,分别对待。

 四 给用户赋予角色权限

-- 5 赋予角色权限
EXEC sp_addrolemember  'Role_KK', 'User_Boyyuan'

这时候 对表进行 insert select 等操作就不会出现权限的问题了







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值