GRANT 伺服器主體權限 (Transact-SQL)

適用于:yesSQL Server (所有支援的版本)

授與SQL Server登入的許可權。

Topic link iconTransact-SQL 語法慣例

Syntax

GRANT permission [ ,...n ] }   
    ON   
    { [ LOGIN :: SQL_Server_login ]  
      | [ SERVER ROLE :: server_role ] }   
    TO <server_principal> [ ,...n ]  
    [ WITH GRANT OPTION ]  
    [ AS SQL_Server_login ]   
  
<server_principal> ::=   
    SQL_Server_login  
    | SQL_Server_login_from_Windows_login   
    | SQL_Server_login_from_certificate   
    | SQL_Server_login_from_AsymKey   
    | server_role  

注意

若要檢視 SQL Server 2014 與更早版本的 Transact-SQL 語法,請參閱舊版文件

引數

permission
指定可以在SQL Server登入上授與的許可權。 如需權限清單,請參閱這個主題稍後的「備註」一節。

LOGIN ::SQL_Server_login
指定要授與許可權的SQL Server登入。 範圍限定詞 ( :: ) 是必要項。

SERVER ROLE ::server_role
指定授與其權限之使用者定義伺服器角色。 範圍限定詞 ( :: ) 是必要項。

TO < server_principal > 指定要授與許可權的SQL Server登入或伺服器角色。

SQL_Server_login
指定SQL Server登入的名稱。

SQL_Server_login_from_Windows_login
指定從Windows登入建立SQL Server登入的名稱。

SQL_Server_login_from_certificate
指定對應至憑證SQL Server登入的名稱。

SQL_Server_login_from_AsymKey
指定對應至非對稱金鑰SQL Server登入的名稱。

server_role
指定使用者定義伺服器角色的名稱。

WITH GRANT OPTION
指出主體也有權授與指定權限給其他主體。

AS SQL_Server_login
指定執行此查詢的主體衍生許可權授與許可權的SQL Server登入。

備註

只有在目前資料庫是 master 的情況下,才能夠授與伺服器範圍的權限。

您可以在 sys.server_permissions 目錄檢視中,看到有關伺服器權限的資訊。 您可以在 sys.server_principals 目錄檢視中,看到有關伺服器主體的資訊。

SQL Server登入和伺服器角色是伺服器層級的安全性實體。 下表列出可在SQL Server登入或伺服器角色上授與的最特定且最有限的許可權,以及隱含方式包含這些許可權的較通用許可權。

SQL Server 登入或伺服器角色權限 SQL Server 登入或伺服器角色權限所隱含 伺服器權限所隱含
CONTROL CONTROL CONTROL SERVER
IMPERSONATE CONTROL CONTROL SERVER
VIEW DEFINITION CONTROL VIEW ANY DEFINITION
ALTER CONTROL ALTER ANY LOGIN

ALTER ANY SERVER ROLE

權限

對於登入,需要登入的 CONTROL 權限或伺服器的 ALTER ANY LOGIN 權限。

對於伺服器角色,需要伺服器角色的 CONTROL 權限或伺服器的 ALTER ANY SERVER ROLE 權限。

範例

A. 授與登入的 IMPERSONATE 權限

下列範例會將 SQL Server 登入 WanidaBenshoof 的許可權授 IMPERSONATE 與Windows使用者 AdvWorks\YoonM 所建立的SQL Server登入。

USE master;  
GRANT IMPERSONATE ON LOGIN::WanidaBenshoof to [AdvWorks\YoonM];  
GO  

B. 授與具有 GRANT OPTION 的 VIEW DEFINITION 權限

下列範例 VIEW DEFINITION 會使用 授與 SQL Server 登入 EricKurjan SQL Server登入 RMeyyappanGRANT OPTION

USE master;  
GRANT VIEW DEFINITION ON LOGIN::EricKurjan TO RMeyyappan   
    WITH GRANT OPTION;  
GO   

C. 授與伺服器角色的 VIEW DEFINITION 權限

下列範例會將 VIEW DEFINITION 伺服器角色的 Sales 權限授與 Auditors 伺服器角色。

USE master;  
GRANT VIEW DEFINITION ON SERVER ROLE::Sales TO Auditors ;  
GO   

另請參閱

sys.server_principals (Transact-SQL)
sys.server_permissions (Transact-SQL)
CREATE LOGIN (Transact-SQL)
主體 (Database Engine)
權限 (資料庫引擎)
安全性函數 (Transact-SQL)
安全性預存程序 (Transact-SQL)