当前位置: 代码迷 >> Sql Server >> 怎么让新建用户只看到授权数据库
  详细解决方案

怎么让新建用户只看到授权数据库

热度:102   发布时间:2016-04-24 08:50:26.0
如何让新建用户只看到授权数据库?
新建一个数据库用户,授予某个数据库的访问权限,连接后,可以看到该服务器上的所有数据库,只是访问未授权的数据库时会有无法访问数据库的提示,通过什么方法能够实现,连接后只看到授权的数据库,未授权的数据库连名字都看不到呢?
------解决思路----------------------
好像是不好设置的,关注一下看看有没有大神能解决
------解决思路----------------------
没有见过这样的功能,一下子都能列出来。 应该是没有吧,等高手解答。
------解决思路----------------------
隐藏用户没有权限的数据库,让他只能看到自己拥有权限的数据库

这个很多人都问的问题,可能很多都有没有得到答案
希望可以帮到你:
隐藏用户没有权限的数据库,让他只能看到自己拥有权限的数据库

这个很多人都问的问题,可能很多都有没有得到答案

首先你阅读以下ms关于VIEW ANY DATABASE 权限的说明

VIEW ANY DATABASE 权限

 

最下面有一句

 若要限制数据库元数据的可见性,请拒绝登录帐户的 VIEW ANY DATABASE 权限。


拒绝此权限之后,登录帐户只能查看 master、tempdb 以及所拥有的数据库的元数据

 

然后有不少人尝试了

DENY VIEW ANY DATABASE TO [login]

但是发现用户除了master、tempdb 看不到其它的数据库

这是以为对以及所拥有的数据库的元数据这里的理解问题,这里指的是数据库拥有者

不是你分配给用户的权限、不是 db_owner

 

你可以使用下面的语句修改数据库的拥有者给这个用户

ALTER AUTHORIZATION ON DATABASE::databaseName TO login_name

 

然后刷新一下就可以了看到这个用户拥有权限的数据库了

作者:小爱
  相关解决方案