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


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

Запрещает разрешения на схему.

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

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

Синтаксис

DENY permission  [ ,...n ] } ON SCHEMA :: schema_name
    TO database_principal [ ,...n ] 
    [ CASCADE ]
        [ AS denying_principal ]

Аргументы

  • permission
    Указывает разрешение, которое может быть запрещено на схему. Список разрешений см. в подразделе «Примечания» далее в этом разделе.

  • ON SCHEMA :: schema_name
    Указывает схему, на которую запрещается разрешение. Необходимо ввести квалификатор области «**::**». is required.

  • database_principal
    Задает участника, для которого удаляется разрешение. Аргумент database_principal может принимать одно из следующих значений:

    • Пользователь базы данных

    • Роль базы данных

    • Роль приложения

    • Пользователь базы данных, сопоставленный имени входа Windows

    • Пользователь базы данных, сопоставленный группе Windows

    • Пользователь базы данных, сопоставленный сертификату

    • Пользователь базы данных, сопоставленный асимметричному ключу

    • Пользователь базы данных, не сопоставленный серверу-участнику

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

  • denying_principal
    Указывает участника, от которого участник, выполняющий данный запрос, получил право на отмену разрешения. Аргумент denying_principa может принимать одно из следующих значений:

    • Пользователь базы данных

    • Роль базы данных

    • Роль приложения

    • Пользователь базы данных, сопоставленный имени входа Windows

    • Пользователь базы данных, сопоставленный группе Windows

    • Пользователь базы данных, сопоставленный сертификату

    • Пользователь базы данных, сопоставленный с асимметричным ключом

    • Пользователь базы данных, не сопоставленный серверу-участнику

Замечания

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

Разрешение схемы

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

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

ALTER

CONTROL

ALTER ANY SCHEMA

CONTROL

CONTROL

CONTROL

CREATE SEQUENCE

ALTER

ALTER ANY SCHEMA

DELETE

CONTROL

DELETE

EXECUTE

CONTROL

EXECUTE

INSERT

CONTROL

INSERT

REFERENCES

CONTROL

REFERENCES

SELECT

CONTROL

SELECT

TAKE OWNERSHIP

CONTROL

CONTROL

UPDATE

CONTROL

UPDATE

VIEW CHANGE TRACKING

CONTROL

CONTROL

VIEW DEFINITION

CONTROL

VIEW DEFINITION

Разрешения

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

См. также

Справочник

CREATE SCHEMA (Transact-SQL)

DENY (Transact-SQL)

sys.fn_builtin_permissions (Transact-SQL)

sys.fn_my_permissions (Transact-SQL)

HAS_PERMS_BY_NAME (Transact-SQL)

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

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

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