Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > ADP及SQL SERVER

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

时 间:2015-08-27 09:50:36
作 者:易勋   ID:35404  城市:上海
摘 要:在使用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交流群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助