问题描述
默认情况下,如果您通过有权访问 10 个数据库中的 1 个的帐户连接到远程 SQL Server.您仍然会在对象资源管理器中看到所有其他数据库,显然由于权限的原因您无法实际查询它们,但您可以看到它们的名称.
我听说有一种方法可以禁用此行为,但我一直无法找到答案,有人知道该怎么做吗?举个例子,我有一个名为 MyDbServer 的 SQL Server,它有 4 个数据库,
- 我的数据库
- 你的数据库
- 私有数据库
- ReallyPrivateDb
如果您通过仅有权访问"YourDatabse"的帐户进行连接,您仍会看到所有其他数据库的列表,尝试查询将授予"选择"权限被拒绝或类似错误.
出于安全考虑,我们不希望用户看到他们映射到的数据库以外的任何数据库.
推荐答案
这篇博客讨论了隐藏 SQL 2000 和 SQL 2005 数据库的方法.