REVOKE, отмена разрешений на конечные точки (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 ServerZArifin.
USE master;
REVOKE VIEW DEFINITION ON ENDPOINT::Mirror7 FROM ZArifin;
GO
Б. Отмена разрешения TAKE OWNERSHIP с параметром CASCADE
В следующем примере отменяется разрешение TAKE OWNERSHIP в конечной точке Shipping83 из пользователя SQL ServerPKomosinski и из всех участников, которым пользователь PKomosinski предоставил разрешение TAKE OWNERSHIP для Shipping83.
USE master;
REVOKE TAKE OWNERSHIP ON ENDPOINT::Shipping83 FROM PKomosinski
CASCADE;
GO
См. также