DENY, запрет разрешений на конечную точку (Transact-SQL)

Применимо к:SQL Server Управляемый экземпляр SQL Azure

Запрещает выполнение тех или иных операций над конечной точкой.

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

Синтаксис

DENY permission  [ ,...n ] ON ENDPOINT :: endpoint_name  
    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  

Примечание.

Сведения о синтаксисе Transact-SQL для SQL Server 2014 (12.x) и более ранних версиях см . в документации по предыдущим версиям.

Аргументы

permission
Разрешение на выполнение операций над конечной точкой, которое может быть запрещено. Список разрешений см. в подразделе "Примечания" далее в этом разделе.

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

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

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

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 на конечной точке

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

USE master;  
DENY VIEW DEFINITION ON ENDPOINT::Mirror7 TO ZArifin;  
GO  

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

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

USE master;  
DENY TAKE OWNERSHIP ON ENDPOINT::Shipping83 TO PKomosinski   
    CASCADE;  
GO  

См. также

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