【问题标题】:How to prevent user to see databases not owned by him in SQL Server management studio?如何防止用户在 SQL Server 管理工作室看到不属于他的数据库?
【发布时间】:2015-05-30 01:52:57
【问题描述】:

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

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

是否可以通过配置我的 SSMS 或要求服务提供商的支持团队更改他们的设置来实现这一点(我认为应该在服务器端进行配置)?

谢谢。

【问题讨论】:

    标签: sql-server ssms


    【解决方案1】:

    您可以通过架构权限来实现这一点。查看此主题以获取更多信息。

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

    【讨论】:

      【解决方案2】:

      我通过运行下面的 SQL 发现了这一点。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-04
        • 1970-01-01
        • 1970-01-01
        • 2011-03-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多