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

Предоставляет разрешения на группу доступности AlwaysOn.

Значок ссылки на раздел Синтаксические обозначения в Transact-SQL

Синтаксис

GRANT permission  [ ,...n ] ON AVAILABILITY GROUP :: availability_group_name
        TO < server_principal >  [ ,...n ]
    [ WITH GRANT OPTION ]
    [ 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
    Указывает группу доступности, для которой предоставляется разрешение. Требуется квалификатор области (
    ::
    ).

  • 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, сопоставленного с ассиметричным ключом.

  • WITH GRANT OPTION
    Показывает, что участнику будет дана возможность предоставлять указанное разрешение другим администраторам доступа.

  • 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

Схему всех разрешений компонента Компонент Database Engine см. в Афише разрешений компонента ядра СУБД.

Разрешения

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

Примеры

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

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

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

Б.Предоставление разрешения TAKE OWNERSHIP с параметром GRANT OPTION

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

USE master;
GRANT TAKE OWNERSHIP ON AVAILABILITY GROUP::MyAg TO PKomosinski 
    WITH GRANT OPTION;
GO

В.Предоставление разрешения CONTROL для группы доступности

Следующий код предоставляет разрешение CONTROL в группе доступности MyAg SQL Server пользователю PKomosinski. Разрешение CONTROL дает пользователю полный контроль над группой доступности, даже если он не является владельцем группы доступности. Описание изменения владельца см. в разделе ALTER AUTHORIZATION (Transact-SQL).

USE master;
GRANT CONTROL ON AVAILABILITY GROUP::MyAg TO PKomosinski;
GO

См. также

Справочник

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

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

CREATE AVAILABILITY GROUP (Transact-SQL)

sys.availability_groups (Transact-SQL)

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

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

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

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

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