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)