【问题标题】:User can't view Database用户无法查看数据库
【发布时间】:2011-06-02 17:09:37
【问题描述】:

版本:SQL Server 2008 R2

我已授予用户执行和选择数据库的能力。但是,当他们登录 SSMS 时,他们看不到他们拥有这些权限的数据库。他们查看数据库的最低权限级别是多少?

登录是公共服务器角色的一部分,EXECUTE 和 SELECT 位于 db 级别。

一如既往的感谢。

S

【问题讨论】:

    标签: sql-server sql-server-2008-r2


    【解决方案1】:

    您可以尝试授予 VIEW DEFINITION 权限。

    grant view definition to _user
    

    http://msdn.microsoft.com/en-us/library/ms187113.aspx

    问候

    彼得

    【讨论】:

    • 嗨@Piotr 我试过了,但是当我使用该帐户登录时,我仍然看不到数据库?
    • 好的,那么当您使用此帐户登录时,您会看到什么?您可以将 _database GRANT CONNECT 到 _yourlogin,也许这就是原因。
    • 我只能看到 tempdb 和 master dbs。我相信它在那个数据库上有连接权限。
    • 当您使用您的 db_owner/sa 帐户连接到数据库时,您是否在 sys.database_principals 中看到该用户?如果没有,请从登录名 [validloginname or windows] 运行 CREATE USER _user
    【解决方案2】:

    您应该检查您的服务器的公共角色对查看任何数据库的安全权限。它应该在查看任何数据库时被授予。

    use [master]
    GO
    GRANT VIEW ANY DATABASE TO [public] AS [sa]
    GO
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-28
      • 1970-01-01
      • 1970-01-01
      • 2021-04-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多