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


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

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

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

Примеры

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