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
Разрешение на выполнение операций над конечной точкой, которое может быть запрещено. Список разрешений см. в подразделе "Примечания" далее в этом разделе.
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
для входа ZArifin
SQL 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)
Разрешения (ядро СУБД)
Субъекты (ядро СУБД)