共用方式為


授與儲存程序的權限

適用於:SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體Azure Synapse AnalyticsAnalytics Platform System (PDW)

本文描述如何使用 SQL Server Management Studio 或 Transact-SQL,在 SQL Server 中授與預存程序的權限。 權限可以授與資料庫中現有的使用者、資料庫角色或應用程式角色。

限制與約束

權限

授權者(或是指定了AS選項的主體)必須擁有與GRANT OPTION相關的權限本身,或是具有隱含授予該權限的更高權限。 需要程序所屬結構描述的 ALTER 權限,或程序的 CONTROL 權限。 如需詳細資訊,請參閱 GRANT 物件權限

使用 SQL Server Management Studio

若要授予儲存過程的權限

  1. 在 [物件總管] 中,連線到資料庫引擎的執行個體,接著展開該個體。

  2. 展開 資料庫,展開程序所屬的資料庫,然後展開 可程式性

  3. 展開 [預存程序]以滑鼠右鍵按一下要授與權限的程序,然後選取 [屬性]。

  4. [預存程序屬性] 上選取 [權限] 頁面。

  5. 若要將權限授與使用者、資料庫角色或應用程式角色,請選取 [搜尋]。

  6. 在 [選取使用者或角色]中,選取 [物件類型],以新增或清除您所需的使用者和角色。

  7. 選取 [瀏覽] 以顯示使用者或角色的清單。 選取要獲得權限授與的使用者或角色。

  8. [明確權限] 方格中,選取要授與指定使用者或角色的權限。 如需權限的描述,請參閱權限 (資料庫引擎)

選取 [授與] 表示要將指定的權限提供給被授與者。 選取 [可授與] 表示受許者也能將指定的權限授予其他主體。

使用 Transact-SQL

若要授予預存程序的存取權限

  1. 連線至資料庫引擎。

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

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

USE AdventureWorks2022;
GRANT EXECUTE ON OBJECT::HumanResources.uspUpdateEmployeeHireInfo
    TO Recruiting11;
GO

授予模式中所有預存程序的權限

  1. 連線至資料庫引擎。

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

  3. 複製下列範例並將其貼到查詢視窗中,然後選取 [執行]。 本範例將 EXECUTE 架構中所有現有及未來的預存程序的權限授與名為 Recruiting11 的應用程式角色。

USE AdventureWorks2022;
GRANT EXECUTE ON SCHEMA::HumanResources
    TO Recruiting11;
GO