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

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

Применимо для следующих объектов: SQL Server (начиная с SQL Server 2012 до текущей версии).

Значок ссылки на раздел Cинтаксические обозначения в 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

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 AVAILABILTIY GROUP для сервера.

Примеры

А.Отмена разрешения 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)

Основные понятия

Разрешения (компонент Database Engine)

Участники (компонент Database Engine)

Другие ресурсы

Представления каталога групп доступности AlwaysOn (Transact-SQL)