授與預存程序的權限
適用於:SQL Server
Azure SQL 資料庫
Azure SQL 受控執行個體
Azure Synapse Analytics
Analytics Platform System (PDW)
本文描述如何使用 SQL Server Management Studio 或 Transact-SQL,在 SQL Server 中授與預存程序的權限。 權限可以授與資料庫中現有的使用者、資料庫角色或應用程式角色。
限制事項
- 您無法使用 SQL Server Management Studio,授與系統程序或系統函數的權限。 請改用 GRANT 物件權限 。
權限
同意授權者 (或是指定了 AS 選項的主體) 必須具有指定了 GRANT OPTION 的權限本身,或是具有隱含目前正在授與權限的更高權限。 需要程序所屬結構描述的 ALTER 權限,或程序的 CONTROL 權限。 如需詳細資訊,請參閱 GRANT 物件權限 (Transact-SQL)。
使用 SQL Server Management Studio
若要授與預存程序的權限
在 [物件總管] 中,連線到資料庫引擎的執行個體,然後展開該執行個體。
依序展開 [資料庫] 、程序所屬的資料庫,以及 [可程式性] 。
展開 [預存程序]以滑鼠右鍵按一下要授與權限的程序,然後選取 [屬性]。
在 [預存程序屬性] 上選取 [權限] 頁面。
若要將權限授與使用者、資料庫角色或應用程式角色,請選取 [搜尋]。
在 [選取使用者或角色]中,選取 [物件類型],以新增或清除您所需的使用者和角色。
選取 [瀏覽] 以顯示使用者或角色的清單。 選取要獲得權限授與的使用者或角色。
在 [明確權限] 方格中,選取要授與指定使用者或角色的權限。 如需權限的描述,請參閱權限 (資料庫引擎)。
選取 [授與] 表示要將指定的權限提供給被授與者。 選取 [可授與] 則表示授與者也能夠將指定的權限授與給其他主體。
使用 Transact-SQL
若要授與預存程序的權限
連線至資料庫引擎。
在標準列上,選取 [新增查詢]。
複製下列範例並將其貼到查詢視窗中,然後選取 [執行]。 此範例會將預存程序
EXECUTE
的HumanResources.uspUpdateEmployeeHireInfo
權限授與名為Recruiting11
的應用程式角色。
USE AdventureWorks2022;
GRANT EXECUTE ON OBJECT::HumanResources.uspUpdateEmployeeHireInfo
TO Recruiting11;
GO
授與結構描述中所有預存程序的權限
連線至資料庫引擎。
在標準列上,選取 [新增查詢]。
複製下列範例並將其貼到查詢視窗中,然後選取 [執行]。 本範例會將存在於或將存在於
HumanResources
結構描述的所有預存程序的EXECUTE
權限授與名為Recruiting11
的應用程式角色。
USE AdventureWorks2022;
GRANT EXECUTE ON SCHEMA::HumanResources
TO Recruiting11;
GO