DENY (Отмена) разрешений группы доступности (Transact-SQL)
Запрещает разрешения в группе доступности AlwaysOn в SQL Server.
Применимо для следующих объектов: SQL Server (начиная с SQL Server 2012 до текущей версии). |
Синтаксические обозначения в 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
Указывает разрешение, которое может быть запрещено для группы доступности. Список разрешений см. в подразделе «Замечания» далее в этом разделе.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, сопоставленного с ассиметричным ключом.CASCADE
Показывает, что отзываемое разрешение также отменяется для других участников, которым оно было предоставлено данным участником.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;
DENY VIEW DEFINITION ON AVAILABILITY GROUP::MyAg TO ZArifin;
GO
Б.Запрет разрешения TAKE OWNERSHIP с аргументом CASCADE
В следующем примере запрещается разрешение TAKE OWNERSHIP для группы доступности MyAg для пользователя SQL Server PKomosinski с аргументом CASCADE.
USE master;
DENY TAKE OWNERSHIP ON AVAILABILITY GROUP::MyAg TO PKomosinski
CASCADE;
GO
См. также
Справочник
REVOKE (отзыв) разрешений группы доступности (Transact-SQL)
GRANT (предоставление) разрешений группы доступности (Transact-SQL)
CREATE AVAILABILITY GROUP (Transact-SQL)
sys.availability_groups (Transact-SQL)
Основные понятия
Разрешения (компонент Database Engine)
Участники (компонент Database Engine)
Другие ресурсы
Представления каталога групп доступности AlwaysOn (Transact-SQL)