REVOKE, отмена разрешений участника на уровне сервера (Transact-SQL)
Область применения: SQL Server Управляемый экземпляр SQL Azure
Отменяет разрешения, предоставленные или отклоненные при входе SQL Server.
Соглашения о синтаксисе Transact-SQL
Синтаксис
REVOKE [ GRANT OPTION FOR ] permission [ ,...n ] }
ON
{ [ LOGIN :: SQL_Server_login ]
| [ SERVER ROLE :: server_role ] }
{ 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
| server_role
Аргументы
permission
Указывает разрешение, которое можно отозвать при входе SQL Server. Список разрешений см. в подразделе "Примечания" далее в этом разделе.
LOGIN :: SQL_Server_login
Указывает имя входа SQL Server, для которого отозвано разрешение. Квалификатор области (::) является обязательным.
SERVER ROLE :: server_role
Указывает роль сервера, для которой отменяется разрешение. Квалификатор области (::) является обязательным.
{ 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, сопоставленного с асимметричным ключом.
server_role
Указывает имя определяемой пользователем роли сервера.
GRANT OPTION
Показывает, что отменяется право на предоставление указанного разрешения другим участникам. Само разрешение отменено не будет.
Внимание
Если участник обладает указанным разрешением без параметра GRANT, будет отменено само разрешение.
CASCADE
Показывает, что отменяемое разрешение также отменяется для других участников, для которых оно было предоставлено или запрещено данным участником.
Внимание
Каскадная отмена разрешения, предоставленного с помощью параметра WITH GRANT OPTION, приведет к отмене разрешений GRANT и DENY для этого разрешения.
AS SQL_Server_login
Указывает имя входа SQL Server, из которого субъект, выполняющий этот запрос, получает свое право отозвать разрешение.
Замечания
Имена входа SQL Server и роли сервера являются защищаемыми на уровне сервера. Наиболее конкретные и ограниченные разрешения, которые могут быть отменены для роли входа SQL Server или сервера, перечислены в следующей таблице вместе с более общими разрешениями, которые включают их в результате.
Разрешение для имени входа SQL Server или роли сервера | Содержится в разрешении для имени входа SQL Server или роли сервера | Подразумевается в разрешении сервера |
---|---|---|
ПРОИЗВОДИТЕЛЬНОСТИ | ПРОИЗВОДИТЕЛЬНОСТИ | CONTROL SERVER |
IMPERSONATE | ПРОИЗВОДИТЕЛЬНОСТИ | CONTROL SERVER |
VIEW DEFINITION | ПРОИЗВОДИТЕЛЬНОСТИ | VIEW ANY DEFINITION |
ИЗМЕНИТЬ | ПРОИЗВОДИТЕЛЬНОСТИ | ALTER ANY LOGIN ALTER ANY SERVER ROLE |
Разрешения
Для имен входа требуется разрешение CONTROL на имя входа или разрешение ALTER ANY LOGIN на сервер.
Для ролей сервера требуется разрешение CONTROL на роль сервера или разрешение ALTER ANY SERVER ROLE на сервер.
Примеры
А. Отмена разрешения IMPERSONATE на имя входа
В следующем примере отменяется IMPERSONATE
разрешение на вход WanidaBenshoof
SQL Server из имени входа SQL Server, созданного пользователем AdvWorks\YoonM
Windows.
USE master;
REVOKE IMPERSONATE ON LOGIN::WanidaBenshoof FROM [AdvWorks\YoonM];
GO
B. Отмена разрешения VIEW DEFINITION с параметром CASCADE
В следующем примере отменяется VIEW DEFINITION
разрешение на вход SQL Server из имени входа EricKurjan
RMeyyappan
SQL Server. Параметр CASCADE
показывает, что разрешение VIEW DEFINITION
для EricKurjan
будет также отменено для участников, которым RMeyyappan
предоставил это разрешение.
USE master;
REVOKE VIEW DEFINITION ON LOGIN::EricKurjan FROM RMeyyappan
CASCADE;
GO
В. Отмена разрешения VIEW DEFINITION для роли сервера
В следующем примере разрешение VIEW DEFINITION
для роли сервера Sales
отменяется для роли сервера Auditors
.
USE master;
REVOKE VIEW DEFINITION ON SERVER ROLE::Sales TO Auditors ;
GO
См. также
sys.server_principals (Transact-SQL)
sys.server_permissions (Transact-SQL)
Grant Server Principal Permissions (Transact-SQL)
Deny Server Principal Permissions (Transact-SQL)
CREATE LOGIN (Transact-SQL)
Субъекты (ядро СУБД)
Разрешения (ядро СУБД)
Функция безопасности (Transact-SQL)
Хранимые процедуры безопасности (Transact-SQL)