日期:2014-05-17  浏览次数:20429 次

怎样设置登录名 登陆后只能看到和操作一个数据库 这个用户不能看到其他的数据库
一个服务器上有三个数据库 我想新建三个登录名 每个登录名登陆后只能看到对应的一个数据库 不能看到其余的两个 怎样进行设置呢

------解决方案--------------------
1. SQL数据库分配权限
打开SQL-Server管理工具?安全性?登陆名?右键(新建登陆名)
 
输入相应的信息(这里要去掉强制实施密码策略,强制密码过期,用户在下次登录时必须修改密码的选择)
 
用户映射?选择我们要设置权限的数据库?通过选择数据库角色成员身份来设置新建用户的权限
 
一般对整个库做权限的时候都是需要所有权限勾选db_owner就可以了(确定)
这样就可以用我们新建的这个用户名来访问我们的数据库服务器了,而且这个用户名只拥有我们所勾选的数据库的所有权限。


------解决方案--------------------
都通过权限的设置来实现 每个数据库设置一个账户
------解决方案--------------------
将VIEW ANY DATABASE 权限从public角色中去掉即可。

简单解释一下:
public角色默认拥有VIEW ANY DATABASE权限,即可以查看描述所有数据库的元数据。
而所有的数据库用户默认都继承public角色。也就是说所有的数据库用户默认都可以查看所有数据库的元数据。

------解决方案--------------------
DENY VIEW ANY DATABASE TO PUBLIC

------解决方案--------------------
GRANT VIEW ANY DATABASE TO Public
就可以恢复回来了
------解决方案--------------------
看看这个,应该对你有用的,你想让登录名看到几个数据库,就看到几个数据库:

http://blog.csdn.net/yupeigu/article/details/12677621