Поделиться через


REVOKE, отмена разрешений участника на уровне сервера (Transact-SQL)

Область применения: SQL Server Управляемый экземпляр SQL Azure

Отменяет разрешения, предоставленные или отклоненные при входе 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
Указывает имя имени входа SQL Server, созданного из имени входа Windows.

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 SERVER
IMPERSONATE ПРОИЗВОДИТЕЛЬНОСТИ CONTROL SERVER
VIEW DEFINITION ПРОИЗВОДИТЕЛЬНОСТИ VIEW ANY DEFINITION
ИЗМЕНИТЬ ПРОИЗВОДИТЕЛЬНОСТИ ALTER ANY LOGIN

ALTER ANY SERVER ROLE

Разрешения

Для имен входа требуется разрешение CONTROL на имя входа или разрешение ALTER ANY LOGIN на сервер.

Для ролей сервера требуется разрешение CONTROL на роль сервера или разрешение ALTER ANY SERVER ROLE на сервер.

Примеры

А. Отмена разрешения IMPERSONATE на имя входа

В следующем примере отменяется IMPERSONATE разрешение на вход WanidaBenshoof SQL Server из имени входа SQL Server, созданного пользователем AdvWorks\YoonMWindows.

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

B. Отмена разрешения VIEW DEFINITION с параметром CASCADE

В следующем примере отменяется VIEW DEFINITION разрешение на вход SQL Server из имени входа EricKurjan RMeyyappanSQL Server. Параметр CASCADE показывает, что разрешение VIEW DEFINITION для EricKurjan будет также отменено для участников, которым RMeyyappan предоставил это разрешение.

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

В. Отмена разрешения 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 Server Principal Permissions (Transact-SQL)
Deny Server Principal Permissions (Transact-SQL)
CREATE LOGIN (Transact-SQL)
Субъекты (ядро СУБД)
Разрешения (ядро СУБД)
Функция безопасности (Transact-SQL)
Хранимые процедуры безопасности (Transact-SQL)