Sql-Server

查看給定數據庫的所有權限需要什麼權限?

  • March 14, 2015

什麼權限可以授予查看給定數據庫上所有權限的權限?

在我目前的情況下,一個軟體的支持團隊需要能夠調查權限問題的原因,而不是被允許自己修改權限。我希望他們能夠查看數據庫的每個登錄名/使用者/角色的權限。如果在數據庫級別上不可能,那麼伺服器級別將起作用。

根據 sys.database_permissions DMV 的文件文件:

任何使用者都可以看到自己的權限。要查看其他使用者的權限,需要 VIEW DEFINITION、ALTER ANY USER 或使用者的任何權限。要查看使用者定義的角色,需要 ALTER ANY ROLE 或角色中的成員身份(例如 public)。

而且,根據使用者權限的文件,您可以授予使用者視圖定義。

但是,如果您使用任何遠端複雜的權限,我會根據經驗說,模擬使用者的能力對於解決此類問題非常有幫助(因為您可以呼叫諸如fn_my_permissionssys.login_token 和 sys.user_token 之類的東西)。

引用自:https://serverfault.com/questions/675295