如何防止用户在SQL Server管理工作室中看到他不拥有的数据库?

时间:2015-05-30 01:52:58

标签: sql-server ssms

当我的SSMS(SQL Server管理工作室)连接到我的共享主机数据库服务器时,所有数据库(包括我不拥有的数据库)都会列在左窗格(SSMS的资源管理器)中。

理想情况下,我只想在此处显示我拥有的数据库。显示其他人的数据库是一个安全漏洞,但我无权查看他们的数据。至少我知道它们的db名称。

是否可以通过配置我的SSMS或要求服务提供商的支持团队更改其设置来实现此目标(我认为应该在服务器端配置)?

感谢。

2 个答案:

答案 0 :(得分:1)

您可以通过架构权限实现此目的。查看此主题以获取更多信息。

https://dba.stackexchange.com/questions/53509/setting-user-permissions-for-different-sql-server-schemas

答案 1 :(得分:0)

我通过在SQL下面运行来解决这个问题。

DENY VIEW any DATABASE TO PUBLIC;
GRANT CREATE DATABASE TO PUBLIC;
ALTER AUTHORIZATION ON DATABASE::testdb TO testuser;

Sample

相关问题