我希望用户登录到sql服务器,只能看到一个数据库.此用户不能是数据库所有者.
我已经尝试过DENY VIEW ANY DATABASE到[用户名]
我现在想GRANT查看[username]的单个数据库
这可能吗?我该怎么做呢?
谢谢.
我已经尝试过DENY VIEW ANY DATABASE到[用户名]
我现在想GRANT查看[username]的单个数据库
这可能吗?我该怎么做呢?
谢谢.
编辑:澄清我的意思,我不希望用户甚至看到其他数据库存在,而不仅仅是他们不能进入数据库.
谢谢!
解决方法
我假设您在这里谈论sql Server Management Studio.简而言之,如果您无法向用户授予DBO(这是完全可以理解的),那么目前无法实现您想要的任何方式.
通过发行,你已经得到了尽可能接近
DENY VIEW ANY DATABASE TO <customerlogin>
有效地隐藏用户的所有数据库.在不使用户成为DBO的情况下,无法将视图功能打开至仅一个.这不是Mike Hotek众所周知的sql Expert所添加的功能.
您可以在此MSDN线程上看到有关此愿望的更长更详细的讨论.
http://social.msdn.microsoft.com/Forums/en/sqlsecurity/thread/a989ca87-660d-41c4-9dac-70b29a83ddfb