Поделиться через


REVOKE (отзыв) разрешений группы доступности (Transact-SQL)

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

Отменяет разрешения для группы доступности AlwaysOn.

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

Синтаксис

REVOKE [ GRANT OPTION FOR ] permission  [ ,...n ]   
    ON AVAILABILITY GROUP :: availability_group_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 AVAILABILITY GROUP ::availability_group_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.availability_groups (Transact-SQL). Сведения о серверных разрешениях отображаются в представлении каталога sys.server_permissions, а сведения о серверах-участниках — в представлении каталога sys.server_principals.

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

Разрешения группы доступности Подразумевается в разрешении группы доступности Подразумевается в разрешении сервера
ИЗМЕНИТЬ ПРОИЗВОДИТЕЛЬНОСТИ ALTER ANY AVAILABILITY GROUP
ПОДКЛЮЧЕНИЕ ПРОИЗВОДИТЕЛЬНОСТИ CONTROL SERVER
ПРОИЗВОДИТЕЛЬНОСТИ ПРОИЗВОДИТЕЛЬНОСТИ CONTROL SERVER
TAKE OWNERSHIP ПРОИЗВОДИТЕЛЬНОСТИ CONTROL SERVER
VIEW DEFINITION ПРОИЗВОДИТЕЛЬНОСТИ VIEW ANY DEFINITION

Разрешения

Требует разрешения CONTROL для группы доступности или разрешения ALTER ANY AVAILABILITY GROUP для сервера.

Примеры

А. Отмена разрешения VIEW DEFINITION для группы доступности

Следующий код отменяет разрешение VIEW DEFINITION в группе доступности MyAg для учетных данных SQL Server ZArifin.

USE master;  
REVOKE VIEW DEFINITION ON AVAILABILITY GROUP::MyAg TO ZArifin;  
GO  

B. Отмена разрешения TAKE OWNERSHIP с параметром CASCADE

В следующем примере отменяется разрешение TAKE OWNERSHIP в группе доступности MyAg для пользователя SQL Server PKomosinski и для всех участников, которым PKomosinski предоставил разрешение TAKE OWNERSHIP для группы доступности MyAg.

USE master;  
REVOKE TAKE OWNERSHIP ON AVAILABILITY GROUP::MyAg TO PKomosinski   
    CASCADE;  
GO  

В. Отмена ранее предоставленного разрешения с предложением WITH GRANT OPTION

Если разрешение было предоставлено с предложением WITH GRANT OPTION, для удаления параметра WITH GRANT OPTION используйте REVOKE GRANT OPTION FOR… В следующем примере предоставляется разрешение, из которого затем удаляется параметр WITH GRANT OPTION.

USE master;  
GRANT CONTROL ON AVAILABILITY GROUP::MyAg TO PKomosinski   
    WITH GRANT OPTION;  
GO  
REVOKE GRANT OPTION FOR CONTROL ON AVAILABILITY GROUP::MyAg TO PKomosinski  
CASCADE  
GO  

См. также

Разрешения группы доступности GRANT (Transact-SQL)
Запрет разрешений группы доступности (Transact-SQL)
CREATE AVAILABILITY GROUP (Transact-SQL)
sys.availability_groups (Transact-SQL)
Представления каталога групп доступности Always On (Transact-SQL)
Разрешения (ядро СУБД)
Субъекты (ядро СУБД)