SQL Server 2000如何禁止用户查看其他数据库列表和可登录用户的列表

我新建了一个SQL Server数据库用户,分配为public权限。
这个用户用sqlserver的企业管理器客户端远程连接我们的数据库服务器后,他只可以查看其中一个视图的内容,但他可以看到所有的数据库列表以及可以登陆的用户名,现在想只让他看到这个视图,其他数据表直接不显示,请教高手如何设置,谢谢!如果可以再送高分。

我也有类似的问题,在网上寻找答案,我解决了,不知道楼主解决了问题没有。

可以这样做(我用的是SQL SERVER 2012):

在数据库的安全性找到该用户,右键选属性,然后点击成员身份,找到一系列的权限设置,选择图片中的两项打钩,具体的意思就是拒绝数据的读和写。确定后关闭,然后该用户就不能看到所有的表了。


修改: 不好意思 请忽略我的回答,我发现设置过后连视图都看不到了 我再想办法。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-03-21
你可以针对这个表新建用户,新建成功后

新建用户上单击右键->“所有任务”->“管理权限”,在这里面就可以设置此用户对每个表的权限追问

权限已经设置了,这个用户只可以查看其中一个视图,其他的数据表虽然能看到,但不能修改,也不能查看其中的内容。但我现在是不想让他看到其他的数据表,直接就不显示。请问有没有办法?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高多了

相似回答