REVOKE (отзыв) разрешений группы доступности (Transact-SQL)
Отменяет разрешения для группы доступности AlwaysOn.
Синтаксические обозначения в Transact-SQL
Синтаксис
REVOKE [ GRANT OPTION FOR ] permission [ ,...n ]
ON AVAILABILITY GROUP :: availability_group_name
{ FROM | 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
Указывает группу доступности, для которой отменяется разрешение. Требуется квалификатор области (::).{ FROM | 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, сопоставленного с ассиметричным ключом.GRANT OPTION
Указывает, что право на предоставление заданного разрешения другим участникам будет отменено. Само разрешение отменено не будет.Важно!
Если участник обладает указанным разрешением без параметра GRANT, будет отменено само разрешение.
CASCADE
Показывает, что отменяемое разрешение также отменяется у других участников, для которых оно было предоставлено или запрещено данным участником.Важно!
Каскадная отмена разрешения, предоставленного с помощью параметра WITH GRANT OPTION, приведет к отмене разрешений GRANT и DENY для этого разрешения.
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 AVAILABILITY GROUP для сервера.
Примеры
А.Отмена разрешения VIEW DEFINITION для группы доступности
Следующий код отменяет разрешение VIEW DEFINITION на группу доступности MyAg в SQL Server для пользователя ZArifin.
USE master;
REVOKE VIEW DEFINITION ON AVAILABILITY GROUP::MyAg TO ZArifin;
GO
Б.Отмена разрешения TAKE OWNERSHIP с параметром CASCADE
В следующем примере отменяется разрешение TAKE OWNERSHIP в группе доступности MyAg в SQL Server для пользователя PKomosinski и для всех участников, которым пользователь PKomosinski предоставил разрешение TAKE OWNERSHIP для группы доступности MyAg.
USE master;
REVOKE TAKE OWNERSHIP ON AVAILABILITY GROUP::MyAg TO PKomosinski
CASCADE;
GO
В.Отмена ранее предоставленного разрешения с предложением WITH GRANT OPTION
Если разрешение было предоставлено с предложением WITH GRANT OPTION, для удаления параметра WITH GRANT OPTION используйте REVOKE GRANT OPTION FOR… В следующем примере предоставляется разрешение, из которого затем удаляется параметр WITH GRANT OPTION.
USE master;
GRANT CONTROL ON AVAILABILITY GROUP::MyAg TO PKomosinski
WITH GRANT OPTION;
GO
REVOKE GRANT OPTION FOR CONTROL ON AVAILABILITY GROUP::MyAg TO PKomosinski
CASCADE
GO
См. также
Справочник
GRANT (предоставление) разрешений группы доступности (Transact-SQL)
DENY (отмена) разрешений группы доступности (Transact-SQL)
CREATE AVAILABILITY GROUP (Transact-SQL)
sys.availability_groups (Transact-SQL)
Основные понятия
Разрешения (компонент Database Engine)
Участники (компонент Database Engine)
Другие ресурсы
Представления каталога групп доступности AlwaysOn (Transact-SQL)