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


DENY, запрет разрешений на тип (Transact-SQL)

Отказывает в разрешениях на тип в SQL Server.

Применимо для следующих объектов: SQL Server (SQL Server 2008 по текущую версию), База данных SQL Windows Azure (С первоначального выпуска по текущий выпуск).

Значок ссылки на раздел Cинтаксические обозначения в Transact-SQL

Синтаксис

DENY permission  [ ,...n ] ON TYPE :: [ schema_name . ] type_name
        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 задан, необходим квалификатор области схемы (.).

  • TO <database_principal>
    Задает участника, для которого запрещается разрешение.

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

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

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

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

  • Application_role

    Применимо для следующих объектов: С SQL Server 2008 по SQL Server 2014 включительно.

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

  • Database_user_mapped_to_Windows_User

    Применимо для следующих объектов: С SQL Server 2008 по SQL Server 2014 включительно.

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

  • Database_user_mapped_to_Windows_Group

    Применимо для следующих объектов: С SQL Server 2008 по SQL Server 2014 включительно.

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

  • Database_user_mapped_to_certificate

    Применимо для следующих объектов: С SQL Server 2008 по SQL Server 2014 включительно.

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

  • Database_user_mapped_to_asymmetric_key

    Применимо для следующих объектов: С SQL Server 2008 по SQL Server 2014 включительно.

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

  • 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 на столбец CASCADE запрещается для пользователя PhoneNumber с параметром KhalidR. PhoneNumber расположен в схеме Telemarketing.

DENY VIEW DEFINITION ON TYPE::Telemarketing.PhoneNumber 
    TO KhalidR CASCADE;
GO

См. также

Справочник

GRANT, предоставление разрешений на тип (Transact-SQL)

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

CREATE TYPE (Transact-SQL)

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

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

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

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