REVOKE Разрешения серверов (Transact-SQL)

Область применения: SQL Server Управляемый экземпляр SQL Azure

Удаляет серверный GRANT уровень и DENY права доступа.

Соглашения о синтаксисе Transact-SQL

Синтаксис

REVOKE [ GRANT OPTION FOR ] permission  [ ,...n ]   
    { TO | FROM } <grantee_principal> [ ,...n ]  
        [ CASCADE ]  
    [ AS <grantor_principal> ]   
  
<grantee_principal> ::= SQL_Server_login   
        | SQL_Server_login_mapped_to_Windows_login  
    | SQL_Server_login_mapped_to_Windows_group  
    | SQL_Server_login_mapped_to_certificate  
    | SQL_Server_login_mapped_to_asymmetric_key  
    | server_role  
  
<grantor_principal> ::= SQL_Server_login   
    | SQL_Server_login_mapped_to_Windows_login  
    | SQL_Server_login_mapped_to_Windows_group  
    | SQL_Server_login_mapped_to_certificate  
    | SQL_Server_login_mapped_to_asymmetric_key  
    | server_role  

Аргументы

permission
Определяет разрешение, которое может быть предоставлено на сервер. Список разрешений см. в подразделе "Примечания" далее в этом разделе.

{ TO | FROM } <grantee_principal> Задает субъекта, у которого отменяется разрешение.

AS <grantor_principal> указывает субъекта, от которого субъект, выполняющий данный запрос, наследует право на отмену разрешения.

GRANT ВАРИАНТ
Показывает, что отменяется право на предоставление указанного разрешения другим участникам. Само разрешение отменено не будет.

Внимание

Если у принципала есть указанное разрешение без этой GRANT опции, само разрешение будет отозвано.

CASCADE
Показывает, что отменяемое разрешение также отменяется для других участников, для которых оно было предоставлено или запрещено данным участником.

Внимание

Каскадная отмена разрешения, предоставленного С GRANT ОПЦИЕЙ, аннулирует и то, и GRANTDENY это разрешение.

SQL_Server_login
Указывает имя входа SQL Server.

SQL_Server_login_mapped_to_Windows_login
Указывает имя входа SQL Server, сопоставленное с именем входа Windows.

SQL_Server_login_mapped_to_Windows_group
Указывает имя входа SQL Server, сопоставленное с группой Windows.

SQL_Server_login_mapped_to_certificate
Указывает имя входа SQL Server, сопоставленное с сертификатом.

SQL_Server_login_mapped_to_asymmetric_key
Указывает имя входа SQL Server, сопоставленное с асимметричным ключом.

server_role
Указывает определяемую пользователем роль сервера.

Замечания

Разрешения в области сервера могут быть отменены только в том случае, если текущей базой данных является master.

REVOKE удаляет оба GRANT и DENY разрешения.

Используйте REVOKEGRANT OPTION FOR, чтобы отозвать право на повторное предоставление указанного разрешения. Если участник имеет право предоставлять данное разрешение, право предоставления будет отозвано, но само разрешение не отменяется. Но если у принципала есть указанное разрешение без такой GRANT опции, само разрешение будет отозвано.

Сведения о разрешениях для сервера можно просмотреть в представлении каталога sys.server_permissions, а сведения о субъектах на уровне сервера — в представлении каталога sys.server_principals. Сведения о членстве ролей сервера можно просмотреть в представлении каталога sys.server_role_members.

Сервер является наивысшим уровнем в иерархии разрешений. Наиболее специфичные и ограниченные разрешения, которые можно отменять на сервере, перечислены в следующей таблице.

Разрешение сервера Подразумевается в разрешении сервера
АДМИНИСТРИРОВАНИЕ МАССОВЫХ ОПЕРАЦИЙ сервер управления
ИЗМЕНЕНИЕ ЛЮБОГО AVAILABILITY GROUP

Применимо к: SQL Server (SQL Server 2012 (11.x) до текущей версии.
сервер управления
ИЗМЕНЕНИЕ ЛЮБОГО СОЕДИНЕНИЯ сервер управления
ИЗМЕНЕНИЕ ЛЮБОГО CREDENTIAL сервер управления
ИЗМЕНЕНИЕ ЛЮБОГО DATABASE сервер управления
ИЗМЕНЕНИЕ ЛЮБОГО ENDPOINT сервер управления
ИЗМЕНЕНИЕ ЛЮБОГО EVENT NOTIFICATION сервер управления
ИЗМЕНЕНИЕ ЛЮБОГО EVENT SESSION сервер управления
ИЗМЕНИТЬ ЛЮБОЙ ПОДКЛЮЧЕННЫЙ СЕРВЕР сервер управления
ИЗМЕНЕНИЕ ЛЮБОГО LOGIN сервер управления
ИЗМЕНЕНИЕ ЛЮБОГО SERVER AUDIT сервер управления
ИЗМЕНЕНИЕ ЛЮБОГО SERVER ROLE

Применимо к: SQL Server (SQL Server 2012 (11.x) до текущей версии.
сервер управления
ИЗМЕНИТЬ РЕСУРСЫ сервер управления
Изменить состояние сервера (ALTER SERVER STATE) сервер управления
ИЗМЕНИТЬ НАСТРОЙКИ сервер управления
ALTER TRACE (изменение трассировки) сервер управления
АУТЕНТИФИЦИРУЙТЕ СЕРВЕР сервер управления
ПОДКЛЮЧЕНИЕ ЛЮБОГО DATABASE

Область применения: SQL Server (SQL Server 2014 (12.x) до текущей версии.
сервер управления
CONNECT SQL сервер управления
сервер управления сервер управления
СОЗДАНИЕ ЛЮБОГО DATABASE ИЗМЕНЕНИЕ ЛЮБОГО DATABASE
CREATE AVAILABILITY GROUP

Применимо к: SQL Server (SQL Server 2012 (11.x) до текущей версии.
ИЗМЕНЕНИЕ ЛЮБОГО AVAILABILITY GROUP
СОЗДАТЬ DDL EVENT NOTIFICATION ИЗМЕНЕНИЕ ЛЮБОГО EVENT NOTIFICATION
CREATE ENDPOINT ИЗМЕНЕНИЕ ЛЮБОГО ENDPOINT
CREATE SERVER ROLE

Применимо к: SQL Server (SQL Server 2012 (11.x) до текущей версии.
ИЗМЕНЕНИЕ ЛЮБОГО SERVER ROLE
СОЗДАТЬ ТРАССЁР EVENT NOTIFICATION ИЗМЕНЕНИЕ ЛЮБОГО EVENT NOTIFICATION
ВНЕШНИЙ ДОСТУП ASSEMBLY сервер управления
ОЛИЦЕТВОРЕНИЯ ЛЮБОГО LOGIN

Область применения: SQL Server (SQL Server 2014 (12.x) до текущей версии.
сервер управления
ВЫБЕРИТЕ ВСЕ USER ЗАЩИЩАЕМЫЕ ОБЪЕКТЫ

Область применения: SQL Server (SQL Server 2014 (12.x) до текущей версии.
сервер управления
SHUTDOWN сервер управления
НЕБЕЗОПАСНО ASSEMBLY сервер управления
VIEW ЛЮБОЙ DATABASE VIEW ЛЮБОЕ ОПРЕДЕЛЕНИЕ
VIEW ЛЮБОЕ ОПРЕДЕЛЕНИЕ сервер управления
VIEW ЛЮБОЕ ОПРЕДЕЛЕНИЕ ПРОИЗВОДИТЕЛЬНОСТИ

Область применения: SQL Server 2022 (16.x) и более поздних версий.
VIEW ЛЮБОЕ ОПРЕДЕЛЕНИЕ
VIEW ЛЮБОЕ ОПРЕДЕЛЕНИЕ БЕЗОПАСНОСТИ

Область применения: SQL Server 2022 (16.x) и более поздних версий.
VIEW ЛЮБОЕ ОПРЕДЕЛЕНИЕ
VIEW СОСТОЯНИЕ ПРОИЗВОДИТЕЛЬНОСТИ СЕРВЕРА

Область применения: SQL Server 2022 (16.x) и более поздних версий.
VIEW СОСТОЯНИЕ СЕРВЕРА
VIEW СОСТОЯНИЕ БЕЗОПАСНОСТИ СЕРВЕРА

Область применения: SQL Server 2022 (16.x) и более поздних версий.
VIEW СОСТОЯНИЕ СЕРВЕРА
VIEW СОСТОЯНИЕ СЕРВЕРА Изменить состояние сервера (ALTER SERVER STATE)

Разрешения

Требует разрешения CONTROL SERVER или членства в предопределенной роли сервера sysadmin.

Примеры

А. Отмена разрешения у имени входа

В следующем примере разрешение VIEW SERVER STATE отменяется у учетных данных SQL Server WanidaBenshoof.

USE master;  
REVOKE VIEW SERVER STATE FROM WanidaBenshoof;  
GO  

B. Отмена опции С GRANT

В следующем примере право предоставления CONNECT SQL отменяется у учетных данных SQL Server JanethEsteves.

USE master;  
REVOKE GRANT OPTION FOR CONNECT SQL FROM JanethEsteves;  
GO  

У этого имени входа остается разрешение CONNECT SQL, но оно не может более предоставлять такое разрешение другим участникам.

См. также

GRANT (Transact-SQL)
DENY (Transact-SQL)
DENY Разрешения сервера (Transact-SQL)
REVOKE Разрешения сервера (Transact-SQL)
Иерархия разрешений (ядро СУБД)
sys.fn_builtin_permissions (Transact-SQL)
sys.fn_my_permissions (Transact-SQL)
HAS_PERMS_BY_NAME (Transact-SQL)