新建一个用户,让他只能看到某一个视图(View),怎么设置?
如果做不到“只能看到指定视图”,最好能做到“对指定表或视图只有查询的权限”。
谢谢!
------解决思路----------------------
在指定权限时只对视图授权
USE [master]
GO
CREATE LOGIN [Test] WITH PASSWORD=N'1', DEFAULT_DATABASE=[DB], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
GO
USE [DB]
GO
CREATE USER [Test] FOR LOGIN [Test]
GO
use [DB]
GO
GRANT SELECT ON [dbo].[视图名] TO [Test]
GO
------解决思路----------------------
exec sp_addlogin '用户名','密码','默认数据库名' --添加只允许访问指定表的用户
exec sp_grantdbaccess '用户名' --添加到数据库
GRANT SELECT , INSERT , UPDATE , DELETE ON 表名 TO [用户名] --分配整表权限
GRANT SELECT , UPDATE ON 表名(列名,列名) TO [用户名] --分配权限到具体的列
------解决思路----------------------
1.先建一个登陆账户
2.再在你视图所在库建一个数据库账户
关联到第一步所建的登陆账户,并加入到数据库的data_reader数据库角色

3.可以做到访问视图而不能访问表的,那么对你不希望的别人访问的表右击,输入你第二步所建的数据库用户名,然后勾选上deny_datareader
参考如下图:

--你先试试,有问题再问