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  

Аргументы

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

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

К 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
Указывает, что запрещаемое разрешение также запрещается для других участников, которым оно было предоставлено данным участником.

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

Замечания

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

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

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

Разрешение конечной точки Содержится в разрешении конечной точки Подразумевается в разрешении сервера
ИЗМЕНИТЬ ПРОИЗВОДИТЕЛЬНОСТИ ИЗМЕНЕНИЕ ЛЮБОГО ENDPOINT
ПОДКЛЮЧЕНИЕ ПРОИЗВОДИТЕЛЬНОСТИ сервер управления
ПРОИЗВОДИТЕЛЬНОСТИ ПРОИЗВОДИТЕЛЬНОСТИ сервер управления
ВОЗЬМИТЕ ОТВЕТСТВЕННОСТЬ ПРОИЗВОДИТЕЛЬНОСТИ сервер управления
VIEW ОПРЕДЕЛЕНИЕ ПРОИЗВОДИТЕЛЬНОСТИ VIEW ЛЮБОЕ ОПРЕДЕЛЕНИЕ

Разрешения

Требуется разрешение CONTROL на конечной точке или ИЗМЕНЕНИЕ ЛЮБОГО 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 Разрешения для конечной точки (Transact-SQL)
REVOKE Разрешения для конечной точки (Transact-SQL)
CREATE ENDPOINT (Transact-SQL)
Представления каталога конечных точек (Transact-SQL)
sys.endpoints (Transact-SQL)
Разрешения (ядро СУБД)
Субъекты (ядро СУБД)