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


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

Область применения: SQL Server

Отменяет разрешения, предоставленные или запрещенные в конечной точке.

Соглашения о синтаксисе Transact-SQL

Синтаксис

REVOKE [ GRANT OPTION FOR ] permission [ ,...n ]   
    ON ENDPOINT :: endpoint_name  
    { 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  

Аргументы

permission
Определяет разрешения, на конечную точку, которые могут быть предоставлены. Список разрешений см. в подразделе "Примечания" далее в этом разделе.

ON ENDPOINT ::endpoint_name
Указывает конечную точку, на которую предоставляется разрешение. Квалификатор области (::) является обязательным.

{ 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, сопоставленного с асимметричным ключом.

GRANT OPTION
Показывает, что отменяется право на предоставление указанного разрешения другим участникам. Само разрешение отменено не будет.

Внимание

Если участник обладает указанным разрешением без параметра GRANT, будет отменено само разрешение.

CASCADE
Показывает, что отменяемое разрешение также отменяется для других участников, для которых оно было предоставлено или запрещено данным участником.

Внимание

Каскадная отмена разрешения, предоставленного с помощью параметра WITH GRANT OPTION, приведет к отмене разрешений GRANT и DENY для этого разрешения.

AS SQL_Server_login
Указывает имя входа SQL Server, из которого субъект, выполняющий этот запрос, получает свое право отозвать разрешение.

Замечания

Разрешения на уровне сервера могут быть отозваны, только если текущей базой данных является master.

Сведения о конечных точках отображаются в представлении каталога sys.endpoints. Сведения о серверных разрешениях отображаются в представлении каталога sys.server_permissions, а сведения о серверах-участниках — в представлении каталога sys.server_principals.

Конечная точка — это защищаемый объект на уровне сервера. Наиболее точные и ограниченные разрешения, которые можно отменять в оконечной точке, перечислены в следующей таблице вместе с общими разрешениями, неявно содержащими их.

Разрешение конечной точки Содержится в разрешении конечной точки Подразумевается в разрешении сервера
ИЗМЕНИТЬ ПРОИЗВОДИТЕЛЬНОСТИ ALTER ANY ENDPOINT
ПОДКЛЮЧЕНИЕ ПРОИЗВОДИТЕЛЬНОСТИ CONTROL SERVER
ПРОИЗВОДИТЕЛЬНОСТИ ПРОИЗВОДИТЕЛЬНОСТИ CONTROL SERVER
TAKE OWNERSHIP ПРОИЗВОДИТЕЛЬНОСТИ CONTROL SERVER
VIEW DEFINITION ПРОИЗВОДИТЕЛЬНОСТИ VIEW ANY DEFINITION

Разрешения

Требует разрешения CONTROL в конечной точке или разрешения ALTER ANY ENDPOINT на сервере.

Примеры

А. Отмена разрешения VIEW DEFINITION в конечной точке

В следующем примере разрешение на конечную точку Mirror7 от имени входа ZArifinSQL Server отменяетсяVIEW DEFINITION.

USE master;  
REVOKE VIEW DEFINITION ON ENDPOINT::Mirror7 FROM ZArifin;  
GO  

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

В следующем примере разрешение на конечную точку от TAKE OWNERSHIP пользователя PKomosinski SQL Server и всех субъектовPKomosinski, которым предоставленоTAKE OWNERSHIP.Shipping83Shipping83

USE master;  
REVOKE TAKE OWNERSHIP ON ENDPOINT::Shipping83 FROM PKomosinski   
    CASCADE;  
GO  

См. также

Grant Endpoint Permissions (Transact-SQL)
Deny Endpoint Permissions (Transact-SQL)
CREATE ENDPOINT (Transact-SQL)
Представления каталога конечных точек (Transact-SQL)
sys.endpoints (Transact-SQL)
Разрешения (ядро СУБД)
Субъекты (ядро СУБД)