DENY Доступность Группы разрешений (Transact-SQL)

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

Запрещает разрешения в группе доступности Always On в SQL Server.

Соглашения о синтаксисе Transact-SQL

Синтаксис

DENY permission  [ ,...n ] ON AVAILABILITY GROUP :: availability_group_name  
        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
Указывает разрешение, которое может быть запрещено для группы доступности. Список разрешений см. в подразделе "Примечания" далее в этом разделе.

AVAILABILITY GROUP ::availability_group_name
Указывает группу доступности, для которой будет запрещено разрешение. Квалификатор области (::) является обязательным.

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

CASCADE
Указывает, что запрещаемое разрешение также запрещается для других участников, которым оно было предоставлено данным участником.

КАК SQL_Server_login
Указывает имя входа SQL Server, из которого субъект, выполняющий этот запрос, получает право запретить разрешение.

Замечания

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

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

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

Разрешения группы доступности Подразумевается в разрешении группы доступности Подразумевается в разрешении сервера
ИЗМЕНИТЬ ПРОИЗВОДИТЕЛЬНОСТИ ИЗМЕНЕНИЕ ЛЮБОГО AVAILABILITY GROUP
ПОДКЛЮЧЕНИЕ ПРОИЗВОДИТЕЛЬНОСТИ сервер управления
ПРОИЗВОДИТЕЛЬНОСТИ ПРОИЗВОДИТЕЛЬНОСТИ сервер управления
ВОЗЬМИТЕ ОТВЕТСТВЕННОСТЬ ПРОИЗВОДИТЕЛЬНОСТИ сервер управления
VIEW ОПРЕДЕЛЕНИЕ ПРОИЗВОДИТЕЛЬНОСТИ VIEW ЛЮБОЕ ОПРЕДЕЛЕНИЕ

Разрешения

Требуется разрешение CONTROL на группе доступности или ИЗМЕНИТЬ ЛЮБОЕ AVAILABILITY GROUP разрешение на сервере.

Примеры

А. Отказ VIEW в разрешении DEFINITION на группе доступности

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

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

B. Запрет разрешения TAKE OWNERSHIP с аргументом CASCADE

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

USE master;  
DENY TAKE OWNERSHIP ON AVAILABILITY GROUP::MyAg TO PKomosinski   
    CASCADE;  
GO