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)里會刪除該用戶的權限這一行記錄

      

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM