Sql-Server

如何檢查我的使用者是否具有 CREATE SCHEMA 權限?

  • February 4, 2021

我在數據庫中有一個可以創建表和儲存過程的使用者帳戶。

我想確認此使用者帳戶是否可以創建模式 -無需先嘗試。(我是金融部門而不是 IT 部門的一員。)

如果我可以創建模式,那麼我會請求 IT 部門允許繼續這樣做。

如果我*不能,*那麼我將繼續等待 IT 部門根據我前段時間提出的服務台請求來執行此操作(嘆氣)。

是否有可以在 SSMS 中執行的命令來告訴我這一點而無需實際創建新架構?

我還截取了該使用者權限的幾個螢幕截圖 - 也許他們會有答案?

數據庫權限 1

數據庫權限 2

編輯:

執行下面 SQLServing 建議的 SQL 後,我得到以下結果:

UserName    is_disabled principal_type_desc class_desc  object_name permission_name permission_state_desc
DWReports   0   SQL_USER    DATABASE    NULL    CONNECT GRANT
DWReports   0   SQL_USER    OBJECT_OR_COLUMN    GetSystemSQLAgentJobList    EXECUTE GRANT

在我看來,我將無法創建此架構,對嗎?

不,這是錯誤的。您可以在數據庫中創建您想要的所有內容,因為您是db_owner. 您可以在查看您的第一張會員照片時看到它。

上面答案中的錯誤是它只考慮為給定使用者顯式授予權限。但是使用者可能是 1000 個角色的成員,並且可以將權限授予這些角色。

在您的情況下,您是db_owner可以控制數據庫的固定數據庫角色的成員,因此您可以在數據庫中執行任何操作。

要查看您在數據庫中的有效權限,請執行以下操作:

select * from sys.fn_my_permissions(null, 'database');

引用自:https://dba.stackexchange.com/questions/190922