常用技巧:SqlServer 2012 数据库中给创建新用户:设置 只开放指定的表或视图的访问权限

SqlServer 2012 中如何设置只给其它用户访问自己指定表或视图?

  • 在操作使用数据库的大部分时候,我们可能对权限之类的东西设置的很少,但是在某些对安全性有要求的时候,我们则需要限制某个用户访问数据库的权限,比如让某个用户只能看到属于其管理或只需要用到的某几张表或视图,并对指定的表和视图拥有有限的操作权限。

图文向导设置步骤

第1步:以管理员身份或sa账号登录数据库,新建一个新的登录用户。比如:crm

第二步:将该用户需要访问的表或视图所在的数据库映射给该用户,使其能够访问该数据库(此时还没有给任何表、视图的访问权限)。默认架构选择dbo

3、以管理员或sa身份给其他用户分配指定的表、视图或存储过程的操作权限。如给视图名pl_CRM设置访问权限

4、分配完访问和操作的权限之后,使用新建的用户名(比如:crm)进行登录之后,即可对管理员指定的数据库中的表或视图进行权限内的操作

至此已经完成,我们可以该用户能访问的只有我们分配的数据库中的视图(或者表、存储过程)。可以自动动手试下。

代码实现步骤

1、以管理员用户身份登录并打开需要操作的数据库,新建查询,创建一个可访问指定数据库的权限角色

exec sp_addrole [crm]

2、给创建的角色赋予查看指定的视图的权限,视图名为:dbo.pl_crm,角色名为创建的角色 crm

grant select on dbo.pl_crm to crm

3、添加只允许访问指定视图的用户;,用户名:crm 密码:crm 默认的数据库:crm

exec sp_addlogin 'crm ','crm ','HCRM'

4、将用户和角色进行绑定(即给用户赋予访问指定视图的权限) , ‘用户’,‘密码’,‘角色’

exec sp_adduser 'crm','crm','crm'

5、最后使用新创建的用户名、密码登录,可以看到该用户下面只有一个可访问和操作的视图。自己可以试下。

exec sp_addrole crm

grant select on dbo.pl_crmto crm

exec sp_addlogin 'crm','crm','crm'

exec sp_adduser 'crm','crm','crm'

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值