• 05-拒绝了对对象'server'的VIEW SERVER STATE权限


    1、错误描述

    消息 300,级别 14,状态 1,第 1 行
    拒绝了对对象 'server' (数据库 'master')的 VIEW SERVER STATE 权限。
    消息 297,级别 16,状态 1,第 1 行
    用户没有执行此操作的权限。

     2、原因描述

    一个只具有public服务器角色的用户,想要查询系统的动态视图,报出的错误;

    3、解决办法

    方法一:如果可以给用户sysadmin服务器角色的话,直接赋予即可(但是这种情况大部分公司都是不允许的)

     方法二:直接赋予某个用户view server state的权限

    命令:grant view server state to chaxun

     取消权限的脚本如下:(下面2条SQL的任何一条都可以实现)

    revoke view server state to chaxun  ---撤销该权限

    deny view server state to chaxun  ---拒绝该权限

     方法三:赋予public角色view server state的权限

    注:赋予public角色这个权限后,所有具有public角色的用户都可以查看服务器级别的资源了(系统视图,系统存储过程等)

    命令:grant view server state to public

     取消权限的脚本如下:(下面2条SQL的任何一条都可以实现)

    revoke view server state to public   ---撤销该权限

    deny view server state to public  ---拒绝该权限

    Tips:

    revoke和deny取消权限的区别是什么?

    答:

           deny:指的是拒绝某一用户的某一权限,在服务器权限的系统视图(sys.server_permissions)里不会删除该用户的权限这一行记录,只是把状态改为了D

          

            revoke:指的是撤销某用户的某一权限,在服务器权限的系统视图(sys.server_permissions)里会删除该用户的权限这一行记录

          

  • 相关阅读:
    if语句
    操作列表
    列表
    数据类型(不全)
    windows安装mysql
    hadr启动报错码
    db2主备hadr部署
    java--遍历字符个数
    java--装饰类
    java--继承&接口
  • 原文地址:https://www.cnblogs.com/jialanyu/p/13390698.html
Copyright © 2020-2023  润新知