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

適用于:SQL ServerAzure SQL 受控執行個體

撤銷在登入SQL Server上授與或拒絕的許可權。

Transact-SQL 語法慣例

Syntax

REVOKE [ GRANT OPTION FOR ] permission [ ,...n ] }   
    ON   
    { [ LOGIN :: SQL_Server_login ]  
      | [ SERVER ROLE :: server_role ] }   
    { FROM | TO } <server_principal> [ ,...n ]  
    [ CASCADE ]  
    [ 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
指定要撤銷其權限的伺服器角色。 範圍限定詞 ( :: ) 是必要項。

{ FROM |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
指定使用者定義伺服器角色的名稱。

GRANT OPTION
指出會撤銷對其他主體授與指定權限的權限。 不會撤銷權限本身。

重要

如果主體有不含 GRANT 選項的指定權限,則會撤銷權限本身。

CASCADE
指出目前正在撤銷的權限,而這個權限也會被這個主體所授與或拒絕的其他主體所撤銷。

警告

獲得授與 WITH GRANT OPTION 之權限的串聯撤銷,會同時撤銷該權限的 GRANT 和 DENY。

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

備註

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 權限

下列範例會 IMPERSONATE 從從 Windows 使用者 AdvWorks\YoonM 建立的SQL Server登入撤銷SQL Server登入 WanidaBenshoof 的許可權。

USE master;  
REVOKE IMPERSONATE ON LOGIN::WanidaBenshoof FROM [AdvWorks\YoonM];  
GO  

B. 撤銷具有 CASCADE 的 VIEW DEFINITION 權限

下列範例會 VIEW DEFINITION 從 SQL Server 登入撤銷SQL Server登入 EricKurjanRMeyyappan 的許可權。 CASCADE 選項指出 VIEW DEFINITIONEricKurjan 權限也會被 RMeyyappan 所授與權限的主體所撤銷。

USE master;  
REVOKE VIEW DEFINITION ON LOGIN::EricKurjan FROM RMeyyappan   
    CASCADE;  
GO   

C. 撤銷伺服器角色的 VIEW DEFINITION 權限

下列範例會對 VIEW DEFINITION 伺服器角色撤銷 Sales 伺服器角色的 Auditors 權限。

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

另請參閱

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