共用方式為


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

撤銷授與或拒絕的 SQL Server 登入權限。

主題連結圖示 Transact-SQL 語法慣例

語法

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

引數

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

下列範例會撤銷 SQL Server 登入之 SQL Server 登入 WanidaBenshoof 的 IMPERSONATE 權限,而這項登入是從 Windows 使用者 AdvWorks\YoonM 所建立。

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

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

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

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

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

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

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)

安全性函數 (Transact-SQL)

安全性預存程序 (Transact-SQL)

概念

主體 (Database Engine)

權限 (Database Engine)