REVOKE, отмена разрешений сервера-участника (Transact-SQL)
Отменяет разрешения, выданные или запрещенные для имени входа SQL Server.
Соглашения о синтаксисе в Transact-SQL
Синтаксис
REVOKE [ GRANT OPTION FOR ] permission [ ,...n ] }
ON LOGIN :: SQL_Server_login
{ 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
Указывает разрешение, которое может быть отменено для имени входа SQL Server. Список разрешений представлен в подразделе «Примечания» в этом разделе.
- LOGIN :: SQL_Server_login
Указывает имя входа SQL Server для которой отменяются разрешения. Необходим квалификатор области (::).
- { FROM | TO } SQL_Server_login
Указывает имя входа 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, от которого участник, выполняющий этот запрос, получает права для отмены разрешения.
Замечания
Имя входа SQL Server является защищаемым на уровне сервера. Наиболее специфичные и ограниченные разрешения, которые могут быть отменены для имени входа SQL Server, представлены в следующей таблице, вместе с наиболее общими разрешениями, которые включают их неявно.
Разрешение имени входа SQL Server | Содержится в разрешении имени входа SQL Server | Содержится в разрешении сервера |
---|---|---|
CONTROL |
CONTROL |
CONTROL SERVER |
IMPERSONATE |
CONTROL |
CONTROL SERVER |
VIEW DEFINITION |
CONTROL |
VIEW ANY DEFINITION |
ALTER |
CONTROL |
ALTER ANY LOGIN |
Разрешения
Требует разрешение CONTROL для имени входа или разрешение ALTER ANY LOGIN на сервер.
Примеры
А. Отмена разрешения IMPERSONATE на имя входа
Следующий пример отменяет разрешение IMPERSONATE
для имени входа SQL Server WanidaBenshoof
от имени входа SQL Server, созданного из пользователя Windows AdvWorks\YoonM
.
USE master;
REVOKE IMPERSONATE ON LOGIN::WanidaBenshoof FROM [AdvWorks\YoonM];
GO
Б. Отмена разрешения VIEW DEFINITION с параметром CASCADE
Следующий пример отменяет разрешение VIEW DEFINITION
для имени входа SQL Server EricKurjan
от имени входа SQL Server RMeyyappan
. Параметр CASCADE
показывает, что разрешение VIEW DEFINITION
для EricKurjan
будет также отменено для участников, которым RMeyyappan
предоставил это разрешение.
USE master;
REVOKE VIEW DEFINITION ON LOGIN::EricKurjan FROM RMeyyappan
CASCADE;
GO
См. также
Справочник
sys.server_principals (Transact-SQL)
sys.server_permissions (Transact-SQL)
GRANT, предоставление разрешений серверам-участникам (Transact-SQL)
DENY, запрет разрешения на сервер-участник (Transact-SQL)
CREATE LOGIN (Transact-SQL)