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
Указывает разрешение, которое может быть запрещено для группы доступности. Список разрешений см. в подразделе "Примечания" далее в этом разделе.
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 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
для 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
См. также
РАЗРЕШЕНИЯ группы доступности (Transact-SQL)
Разрешения группы доступности GRANT (Transact-SQL)
CREATE AVAILABILITY GROUP (Transact-SQL)
sys.availability_groups (Transact-SQL)
Представления каталога групп доступности Always On (Transact-SQL)
Разрешения (ядро СУБД)
Субъекты (ядро СУБД)