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