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

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

Значок ссылки на раздел Синтаксические обозначения 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
    Указывает роль приложения.

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

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

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

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

  • Database_user_with_no_login
    Задает пользователя базы данных без соответствующего участника уровня сервера.

Замечания

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

Важное примечаниеВажно!

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

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

Разрешение типа

Содержится в разрешении типа данных

Содержится в разрешении схемы

CONTROL

CONTROL

CONTROL

EXECUTE

CONTROL

EXECUTE

REFERENCES

CONTROL

REFERENCES

TAKE OWNERSHIP

CONTROL

CONTROL

VIEW DEFINITION

CONTROL

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)

Основные понятия

Разрешения (компонент Database Engine)

Участники (компонент Database Engine)

Защищаемые объекты