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


REVOKE, отмена разрешения на тип (Transact-SQL)

Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure

Отменяет разрешения на использование типа.

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

Синтаксис

REVOKE [ GRANT OPTION FOR ] permission [ ,...n ]   
    ON TYPE :: [ schema_name ]. type_name   
    { FROM | TO } <database_principal> [ ,...n ]   
    [ CASCADE ]  
    [ AS <database_principal> ]  
  
<database_principal> ::=   
      Database_user   
    | Database_role   
    | Application_role   
    | Database_user_mapped_to_Windows_User   
    | Database_user_mapped_to_Windows_Group   
    | Database_user_mapped_to_certificate   
    | Database_user_mapped_to_asymmetric_key   
    | Database_user_with_no_login    

Аргументы

permission
Разрешение на работу с типом, которое можно отменить. Список разрешений см. в подразделе "Примечания" далее в этом разделе.

ON TYPE :: [ schema_name ] . type_name
Тип, разрешение на работу с которым отменяется. Квалификатор области (::) является обязательным. Если не указан аргумент schema_name, подразумевается схема по умолчанию. Если указан аргумент schema_name, обязательно указание квалификатора области схемы (.).

{ FROM | TO } <database_principal> Задает субъект, у которого отменяется разрешение.

GRANT OPTION
Показывает, что отменяется право на предоставление указанного разрешения другим участникам. Само разрешение отменено не будет.

Внимание

Если участник обладает указанным разрешением без параметра GRANT, будет отменено само разрешение.

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

Внимание

Каскадная отмена разрешения, предоставленного с помощью параметра WITH GRANT OPTION, приведет к отмене разрешений GRANT и DENY для этого разрешения.

AS <database_principal> Указывает субъекта, от которого субъект, выполняющий данный запрос, наследует право на отмену разрешения.

Database_user
Указывает пользователя базы данных.

Database_role
Указывает роль базы данных.

Application_role
Область применения: SQL Server 2008 (10.0.x) и более поздних версий База данных SQL

Указывает роль приложения.

Database_user_mapped_to_Windows_User
Область применения: SQL Server 2008 (10.0.x) и более поздних версий

Указывает пользователя базы данных, сопоставленного с пользователем Windows.

Database_user_mapped_to_Windows_Group
Область применения: SQL Server 2008 (10.0.x) и более поздних версий

Указывает пользователя базы данных, сопоставленного с группой Windows.

Database_user_mapped_to_certificate
Область применения: SQL Server 2008 (10.0.x) и более поздних версий

Указывает пользователя базы данных, сопоставленного с сертификатом.

Database_user_mapped_to_asymmetric_key
Область применения: SQL Server 2008 (10.0.x) и более поздних версий

Указывает пользователя базы данных, сопоставленного с асимметричным ключом.

Database_user_with_no_login
Указывает пользователя базы данных, не сопоставленного с субъектом серверного уровня.

Замечания

Тип — это защищаемый объект уровня схемы; он содержится в схеме, являющейся его родителем в иерархии разрешений.

Внимание

Разрешения GRANT, DENY и REVOKE не применяются к системным типам. Определяемым пользователем типам можно предоставлять разрешения. Дополнительные сведения об определяемых пользователем типах см. в разделе Работа с определяемыми пользователем типами в SQL Server.

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

Разрешение типа Содержится в разрешении типа данных Содержится в разрешении схемы
ПРОИЗВОДИТЕЛЬНОСТИ ПРОИЗВОДИТЕЛЬНОСТИ ПРОИЗВОДИТЕЛЬНОСТИ
Выполнение  ПРОИЗВОДИТЕЛЬНОСТИ Выполнение 
ССЫЛКИ ПРОИЗВОДИТЕЛЬНОСТИ ССЫЛКИ
TAKE OWNERSHIP ПРОИЗВОДИТЕЛЬНОСТИ ПРОИЗВОДИТЕЛЬНОСТИ
VIEW DEFINITION ПРОИЗВОДИТЕЛЬНОСТИ VIEW DEFINITION

Разрешения

Для данного типа требуется разрешение CONTROL. Если используется предложение AS, заданный участник должен быть владельцем типа.

Примеры

Следующий код отменяет разрешение VIEW DEFINITION, связанное с пользовательским типом PhoneNumber, для пользователя KhalidR. Параметр CASCADE показывает, что разрешение VIEW DEFINITION будет также отменено для участников, которым предоставил это разрешение KhalidR. PhoneNumber расположен в схеме Telemarketing.

REVOKE VIEW DEFINITION ON TYPE::Telemarketing.PhoneNumber   
    FROM KhalidR CASCADE;  
GO  

См. также

Разрешения типа GRANT (Transact-SQL)
Разрешения типа DENY (Transact-SQL)
CREATE TYPE (Transact-SQL)
Разрешения (ядро СУБД)
Субъекты (ядро СУБД)
Защищаемые объекты