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


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

Область применения: SQL Server

Предоставляет разрешения на группу доступности 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 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 доступности для входа ZArifinв SQL Server.

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

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

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

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

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

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

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

См. также

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