我新建了一个SQL Server数据库用户,分配为public权限。
这个用户用sqlserver的企业管理器客户端远程连接我们的数据库服务器后,他只可以查看其中一个视图的内容,但他可以看到所有的数据库列表以及可以登陆的用户名,现在想只让他看到这个视图,其他数据表直接不显示,请教高手如何设置,谢谢!如果可以再送高分。
我也有类似的问题,在网上寻找答案,我解决了,不知道楼主解决了问题没有。
可以这样做(我用的是SQL SERVER 2012):
在数据库的安全性找到该用户,右键选属性,然后点击成员身份,找到一系列的权限设置,选择图片中的两项打钩,具体的意思就是拒绝数据的读和写。确定后关闭,然后该用户就不能看到所有的表了。
修改: 不好意思 请忽略我的回答,我发现设置过后连视图都看不到了 我再想办法。
权限已经设置了,这个用户只可以查看其中一个视图,其他的数据表虽然能看到,但不能修改,也不能查看其中的内容。但我现在是不想让他看到其他的数据表,直接就不显示。请问有没有办法?oracle数据库好像能这么设置,就不知道sql是否也可以
追答用语句重新建用户吧
建立帐户:
sp_addlogin 'loginname','password'
sp_adduser 'loginname','username'
权限设置:
grant select on 表名 to username
grant update on 表名 to username
deny delete on 表名 to username
可以的话我建议用mysql,效率比sql高多了