【问题标题】:sql view server state permission was deniedsql 查看服务器状态权限被拒绝
【发布时间】:2017-10-21 16:59:26
【问题描述】:

我刚刚安装了 SQL Server 2014,但是在创建数据库甚至查看属性时遇到了问题。

我得到“查看服务器状态权限被拒绝对象'server', database 'master'. Microsoft Server, Error:300"

我无法更改我的服务器角色,出于某种原因我只有“公共”角色。 有什么想法吗?

【问题讨论】:

  • 您是否在安装时将您的帐户添加到系统管理员角色?
  • 我不记得我这样做了,现在有什么方法可以添加我的帐户吗?
  • 是的,如果您是本地 Windows 管理员,您可以。您应该使用 -m 以单用户模式启动服务器并将自己添加为系统管理员。这是一个分步链接docs.microsoft.com/en-us/sql/database-engine/configure-windows/…

标签: sql-server permissions system-databases


【解决方案1】:

来自SQL Server Expert

登录用户没有查看服务器状态权限,授予所需权限即可解决问题。

USE MASTER
GO
GRANT VIEW SERVER STATE TO <username>

【讨论】:

    【解决方案2】:

    使用管理员(sysadmin)帐户连接到 ssms 并执行以下操作

    USE MASTER
    GO
    GRANT VIEW SERVER STATE TO [username]
    

    【讨论】:

    • 执行上面的代码后,如果之前被拒绝的查询返回no data,那么运行查询的用户需要被授予Server Role:sysadmin
    • 您也可以通过在 SSMS 中导航到安全 - 登录,右键单击帐户并显示属性 - 安全对象来授予此权限。在此列表中,您可以在 View Server State 选项中选中“Grant”。
    【解决方案3】:

    仅供参考,这个问题好像和this bug有关。

    我在使用 SQL Server Management Studio 2012 时遇到了同样的问题。

    如果有人发现这个问题,请尝试更新 SQL Server Management Studio。这样,您就不需要向用户授予 VIEW SERVER STATE 权限。

    现在使用 SQL Server Management Studio 2014 (12.0.4213.0),问题似乎消失了

    【讨论】:

    • 先生。劳赫!为什么要删除参考链接
    • 这个答案是从dba.stackexchange.com/a/141433/5203复制过来的
    • 是的,它被复制了,我也在其中添加了参考链接,但有人删除了它
    • 没有人删除参考链接。它被格式化成文本。像您一样复制没有署名的答案称为plagiarism
    猜你喜欢
    • 2018-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-30
    • 1970-01-01
    • 2014-10-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多