REVOKE, отмена разрешений на конечные точки (Transact-SQL)
Отменяет разрешения, предоставленные или запрещенные в конечной точке.
Соглашения о синтаксисе в Transact-SQL
Синтаксис
REVOKE [ GRANT OPTION FOR ] permission [ ,...n ]
ON ENDPOINT :: endpoint_name
{ FROM | 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
Указывает конечную точку, для которой выдается разрешение. Требуется квалификатор области (::).
- { FROM | 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, сопоставленного с ассиметричным ключом.
GRANT OPTION
Указывает, что право на предоставление заданного разрешения другим участникам будет отменено. Само разрешение отменено не будет.Важно! Если участник обладает заданным разрешением без параметра GRANT, будет отменено и само разрешение.
CASCADE
Указывает, что отзываемое разрешение также отменяется для других участников, которым оно было предоставлено или запрещено данным участником.Внимание! Каскадная отмена разрешения, предоставленного с помощью параметра WITH GRANT OPTION, приведет к отмене прав GRANT и DENY для этого разрешения.
- 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 на сервере.
Примеры
A. Отмена разрешения VIEW DEFINITION в конечной точке
В следующем примере отменяется разрешение VIEW DEFINITION
в конечной точке Mirror7
из имени входа SQL Server ZArifin
.
USE master;
REVOKE VIEW DEFINITION ON ENDPOINT::Mirror7 FROM ZArifin;
GO
Б. Отмена разрешения TAKE OWNERSHIP с параметром CASCADE
В следующем примере отменяется разрешение TAKE OWNERSHIP
в конечной точке Shipping83
из пользователя SQL Server PKomosinski
и из всех участников, которым пользователь PKomosinski
предоставил разрешение TAKE OWNERSHIP
для Shipping83
.
USE master;
REVOKE TAKE OWNERSHIP ON ENDPOINT::Shipping83 FROM PKomosinski
CASCADE;
GO
См. также
Справочник
GRANT, предоставление разрешений на конечные точки (Transact-SQL)
DENY, запрет разрешений на конечную точку (Transact-SQL)
CREATE ENDPOINT (Transact-SQL)
Представления каталога конечных точек (Transact-SQL)
sys.endpoints (Transact-SQL)