隐藏其它数据库,只让用户能够看到自己拥有权限的数据库 -易勋
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> ADP及SQL SERVER


隐藏其它数据库,只让用户能够看到自己拥有权限的数据库

发表时间:2015/8/27 9:50:36 评论(0) 浏览(6670)  评论 | 加入收藏 | 复制
   
摘 要:在使用SQL Server数据库的时候,一个实例下面经常需要创建多个的数据库,但是又不想让别人知道究竟有多少数据库,就可以使用这种方法来限制
正 文:

隐藏用户没有权限的数据库,让他只能看到自己拥有权限的数据库

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

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

VIEW ANY DATABASE 权限

 

最下面有一句

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


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

 

然后有不少人尝试了

DENY VIEW ANY DATABASE TO [login]

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

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

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

 

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

Alter AUTHORIZATION ON DATABASE::databaseName TO login_name

 

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

 


Access软件网交流QQ群(群号:198465573)
 
 相关文章
SQLServer常用对象的查询语句  【金宇  2015/7/23】
好礼相送:一本比较全的SQL工具书  【易勋  2015/7/27】
【Access文章】如何使用ODBC链接表/如何链接SQL Ser...  【缪炜  2015/7/31】
SQL Server 2008实现"编辑所有行"和"返回所有行"的...  【缪炜  2015/8/16】
常见问答
技术分类
相关资源
文章搜索
关于作者

易勋

文章分类

文章存档

友情链接