sqlserver给指定用户授权访问指定表
一、背景
外部公司的人授权访问我们公司的数据库,数据接口调用,要给他们建立查看指定的视图和授权的账号,因此要在数据库中,给指定用户授权访问指定表
二、sqlserver 脚本
---创建视图
CREATE VIEW [dbo].[View_RunningData]
AS
SELECT TOP (100) PERCENT a.areaorganize, c.F_FullName AS areaorganizeName, a.recorddate, d.F_ItemCode, d.F_ItemName, a.value
FROM dbo.ITEM_RECORD AS a LEFT OUTER JOIN
dbo.Sys_Organize AS c ON a.areaorganize = c.F_Id LEFT OUTER JOIN
dbo.Sys_ItemsDetail AS d ON a.itemid = d.F_Id LEFT OUTER JOIN
dbo.Sys_Items AS e ON d.F_ItemId = e.F_Id LEFT OUTER JOIN
dbo.Sys_Items AS f ON e.F_ParentId = f.F_Id
WHERE (f.F_EnCode = 'YXSJ')
ORDER BY a.recorddate, d.F_ItemCode
---指定指定用户授权访问指定表
exec sp_addrole 'seeview'
GRANT SELECT ON View_RunningData TO seeview
exec sp_addlogin 'yhsjjk','yh123','DA_Dev517'
exec sp_adduser 'yhsjjk','yh123','seeview'
三、 分析
1、 在sql server中选择好要操作的数据库角色。
2、 当前数据库创建角色(新建权限seeview)
exec sp_addrole 'seeview'
3、 给予创建角色的权限,分配视图权限
( 意思是指定视图列表 指定seeview这个角色可以查看的视图表名称;也就是这个角色可以查看下面赋予这些视图信息,除此之外的所有的东西都看不到)
GRANT SELECT ON View_RunningData TO seeview
4、 添加只允许访问指定视图的用户: exec sp_addlogin '登录名','密码','默认数据库名
注:此处可能执行不了,要求密码强度,那就自己手工创建
exec sp_addlogin 'yhsjjk','yh123','DA_Dev517'
5、 添加只允许访问指定视图的用户到rCRM角色中: exec sp_adduser '登录名','用户名','角色'
exec sp_adduser 'yhsjjk','yh123','seeview'
四、 操作步骤
1、选择要访问的数据库,执行视图脚本,视图创建成功。

2、给指定的用户授权访问指定表,点击执行数据脚本,脚本执行成功。

3、登陆名,密码创建成功。

4、用户授权成功,只能查看指定的视图。

sqlserver给指定用户授权访问指定表的更多相关文章
- iptables只允许指定ip地址访问指定端口
首先,清除所有预设置 iptables -F#清除预设表filter中的所有规则链的规则 iptables -X#清除预设表filter中使用者自定链中的规则 其次,设置只允许指定ip地址访问指定端口 ...
- linux下通过iptables只允许指定ip地址访问指定端口的设置方法
这篇文章主要介绍了linux下通过iptables只允许指定ip地址访问指定端口的设置方法,需要的朋友可以参考下. 首先,清除所有预设置 iptables -F#清除预设表filter中的所有规则链的 ...
- Oracle创建用户并给用户授权查询指定表或视图的权限
MSV31账户登录数据库进行如下操作: CREATE USER NORTHBOUND IDENTIFIED BY NORTHBOUND DEFAULT TABLESPACE "TBS_DN ...
- 转://Oracle A用户给B用户授权查询指定表或视图权限方案
用DNINMSV31账户登录数据库进行如下操作: CREATE USER NORTHBOUND IDENTIFIED BY NORTHBOUND DEFAULT TABLESPACE "TB ...
- oracle 创建一个用户,只能访问指定的对象
1>创建一个ORACLE 的用户 create user username identified by pws; 2>给用户授权 grant connect,resource to us ...
- 用ChrootDirectory限制SFTP登录的用户只能访问指定目录且不能进行ssh登录
创建不能ssh登录的用户sftpuser1,密码用于sftp登录: sudo adduser sftpuser1 --home /sftp/sftpuser1 --shell /bin/false s ...
- PostgreSQL指定用户可访问的数据库pg_hba.conf
进入指定目录: # cd /var/lib/pgsql/9.3/data/ 使用vi编辑pg_hba.conf文件 # vi pg_hba.conf 以上配置为所有IP及网关都允许访问,使用MD5认证 ...
- oracle 11g数据库--创建表空间,创建用户,用户授权并指定表空间。
使用环境:我们安装完数据库后,查看以下服务是否启动 需要建库.实质上我们是建立表空间,从而进行库的还原工作. 根据本例情况,是在下面目录下进行的操作. D:\app\Administrator\ora ...
- sqlserver 限制用户只能访问指定的视图
项目中有一个需求,要求给其它单位提供数据,我们用到了视图,并要求不能让他们看到数据库中的其它数据,我们为其创建了单独的账号,并只能看到指定视图 一.创建视图 CREATE VIEW [dbo].[v_ ...
随机推荐
- POJ 1873 The Fortified Forest(凸包)题解
题意:二维平面有一堆点,每个点有价值v和删掉这个点能得到的长度l,问你删掉最少的价值能把剩余点围起来,价值一样求删掉的点最少 思路:n<=15,那么直接遍历2^15,判断每种情况.这里要优化一下 ...
- Gym 101775J Straight Master(差分数组)题解
题意:给你n个高度,再给你1~n每种高度的数量,已知高度连续的3~5个能消去,问你所给的情况能否全部消去:例:n = 4,给出序列1 2 2 1表示高度1的1个,高度2的2个,高度3的2个,高度4的1 ...
- 【做题】CFedu41G. Partitions——推式子
实际上这题的题面还是颇有意思,对两个划分不同的定义暗示了第二类斯特林数,模数是\(1000000007\)又表明这题不是NTT. 那么一开始的想法是考虑每个集合的贡献.设这个集合为\(S\),那么它的 ...
- 【做题】Codeforces Round #453 (Div. 1) D. Weighting a Tree——拆环
前言:结论题似乎是我的硬伤…… 题意是给你一个无向图,已知连接到每一个点的边的权值和(为整数,且属于区间[-n,n]),需要求出每条边权值的一个合法解(都要是在区间[-2*n^2,2*n^2]内的整数 ...
- nginx 配置静态文件
location /temp/ { root F:/; autoindex on; } F:\temp 下的目录文件. 例子:http://localhost/temp/nginx-1.12.2/ht ...
- pyqt5 eric6 pyqt5-tools
他们都可以通过pip安装,pyqt5-tool提供了qtdesigner,
- Execl矩阵如何转化成Pajek的net文件
在科研中我们有时会把把execl矩阵利用Ucinet.Pajek等可视化软件进行画图,而想要把execl矩阵转化为 Pajek可识别的文件-->net文件令很多初学者头疼不已,本文将做详细介绍. ...
- 为DataGridView增加鼠标滚轮功能
#region 鼠标滚动 [System.Runtime.InteropServices.DllImport("user32.dll", EntryPoint = "Wi ...
- 【Selenium2】【Python多线程】
# all_tests_pro.py import unittest,time,os,multiprocessingimport HTMLTestRunner #查找多有含有thread的文件,文件夹 ...
- 因样式冲突引起的div消失问题
工作需要,搭建一个网站的模型,简单分成三个部分,标题栏,导航栏,主界面,效果如图: 但是点击界面的任意地方,中间的div块消失了,如图所示: 调试,发现在点击界面其他地方的时候display属性有变化 ...