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

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

Значок ссылки на разделСинтаксические обозначения в 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
    Разрешение на выполнение операций над конечной точкой, которое может быть запрещено. Список разрешений см. ниже, в разделе «Примечания».
  • 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
    Имя входа SQL Server, от которого участник, выполняющий этот запрос, получает право запрещать разрешение.

Замечания

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

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

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

Разрешение конечной точки Содержится в разрешении конечной точки Содержится в разрешении сервера

ALTER

CONTROL

ALTER ANY ENDPOINT

CONNECT

CONTROL

CONTROL SERVER

CONTROL

CONTROL

CONTROL SERVER

TAKE OWNERSHIP

CONTROL

CONTROL SERVER

VIEW DEFINITION

CONTROL

VIEW ANY DEFINITION

Разрешения

Для выполнения этой инструкции необходимо разрешение CONTROL на конечной точке или разрешение ALTER ANY ENDPOINT на сервере.

Примеры

A. Запрет разрешения VIEW DEFINITION на конечной точке

Следующий код запрещает разрешение VIEW DEFINITION, связанное с конечной точкой Mirror7, для пользователя SQL Server с именем ZArifin.

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

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

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

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)

Другие ресурсы

Разрешения
Участники

Справка и поддержка

Получение помощи по SQL Server 2005