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

Применимо к: даSQL Server (все поддерживаемые версии) ДаБаза данных SQL Azure

Отменяет разрешения для группы доступности 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  

Примечание

Ссылки на описание синтаксиса Transact-SQL для SQL Server 2014 и более ранних версий, см. в статье Документация по предыдущим версиям.

Аргументы

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, от которого участник, выполняющий этот запрос, получает право отмены разрешения.

Remarks

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

Сведения о группах доступности отображаются в представлении каталога sys.availability_groups (Transact-SQL). Сведения о серверных разрешениях отображаются в представлении каталога sys.server_permissions, а сведения о серверах-участниках — в представлении каталога sys.server_principals.

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

Разрешения группы доступности Подразумевается в разрешении группы доступности Подразумевается в разрешении сервера
ALTER CONTROL ALTER ANY AVAILABILITY GROUP
CONNECT CONTROL CONTROL SERVER
CONTROL CONTROL CONTROL SERVER
TAKE OWNERSHIP CONTROL CONTROL SERVER
VIEW DEFINITION CONTROL VIEW ANY DEFINITION

Разрешения

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

Примеры

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

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

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

Б. Отмена разрешения 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)
DENY, запрет разрешений на группу доступности (Transact-SQL)
CREATE AVAILABILITY GROUP (Transact-SQL)
sys.availability_groups (Transact-SQL)
Представления каталога групп доступности AlwaysOn (Transact-SQL)
Разрешения (ядро СУБД)
Участники (компонент Database Engine)