DENY, запрет разрешений на конечную точку (Transact-SQL)
Запрещает выполнение тех или иных операций над конечной точкой.
Применимо для следующих объектов: SQL Server (начиная с SQL Server 2008 до текущей версии). |
Cинтаксические обозначения в 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 |
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 на сервере.
Примеры
А.Запрет разрешения 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)