共用方式為


為主體授與權限

適用於:Microsoft Fabric 中的 SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics Analytics Platform System (PDW) SQL Database

本文說明如何使用 SQL Server Management Studio 或 Transact-SQL,將許可權授與 SQL Server 中的主體。

安全性

同意授權者 (或是指定了 AS 選項的主體) 必須具有指定了 GRANT OPTION 的權限本身,或是具有隱含目前正在授與權限的更高權限。

使用 SQL Server Management Studio

為主體授與權限

  1. 在 [物件總管] 中,展開包含您要授與權限之物件的資料庫。

    注意

    這些步驟特別處理授與預存程序的權限,但是您可以使用類似步驟加入資料表、檢視、函數、組件,以及其他安全性實體的權限。 如需詳細資訊,請參閱 GRANT (Transact-SQL)

  2. 展開 [可程式性] 資料夾。

  3. 展開 [預存程序] 資料夾。

  4. 以滑鼠右鍵按一下預存程序,然後選取 [屬性]。

  5. 在 [ 預存程序屬性 ] 對話框中,選取 [ 許可權] 頁面。 使用此頁面將使用者或角色加入至預存程序,並指定這些使用者或角色擁有的權限。

  6. 完成後,選取 [確定]

使用 Transact-SQL

為主體授與權限

  1. 在物件總管中,連線到資料庫引擎的執行個體。

  2. 在標準列上,選取 [新增查詢]

  3. 複製下列範例並將其貼到查詢視窗中,然後選取 [執行]。 下列範例會將預存程式的 HumanResources.uspUpdateEmployeeHireInfo EXECUTE 許可權授與名為 Recruiting11的應用程式角色。

    -- Grants EXECUTE permission on stored procedure HumanResources.uspUpdateEmployeeHireInfo to an application role called Recruiting11.   
    USE AdventureWorks2022;  
    GO  
    GRANT EXECUTE ON OBJECT::HumanResources.uspUpdateEmployeeHireInfo  
        TO Recruiting11;  
    GO  
    

如需詳細資訊,請參閱 GRANT (Transact-SQL)GRANT 物件許可權 (Transact-SQL)。

限制

請考慮下列更輕鬆管理權限的最佳做法。

  • 將權限授與角色,而非個別登入或使用者。 當某位人員被另一位人員取代時,請從角色中移除離開的人員,並將新的人員加入至角色。 此時,許多可能與該角色相關聯的權限就會自動提供給新的人員使用。 如果組織中的許多人員需要相同的權限,只要將每位人員加入至角色,就會授與他們相同的權限。

  • 設定要由結構描述擁有的類似安全性實體 (資料表、檢視表和程序),然後授與結構描述的權限。 例如,薪資結構描述可能會擁有許多資料表、檢視表和預存程序。 只要授與此結構描述的存取權,就可以同時授與執行薪資功能的所有必要權限。 如需有關哪些安全性實體可以被授與權限的詳細資訊,請參閱< Securables>。

  • 在 Microsoft Fabric 的 SQL 資料庫中,Microsoft資料庫使用者的 Entra ID 是唯一支援的驗證方法。 伺服器層級角色和許可權無法使用,只能使用資料庫層級。 如需詳細資訊,請參閱 Microsoft Fabric 中的 SQL 資料庫中的授權。