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

Применимо к:SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure

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

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

Синтаксис

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

Примечание.

Сведения о синтаксисе Transact-SQL для SQL Server 2014 (12.x) и более ранних версиях см . в документации по предыдущим версиям.

Аргументы

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

ON SCHEMA :: schema*_name*
Указывает схему, на которую запрещается разрешение. Квалификатор области :: является обязательным.

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

  • пользователь базы данных;
  • роль базы данных;
  • Роль приложения
  • пользователь базы данных, сопоставленный с именем входа Windows;
  • пользователь базы данных, сопоставленный с группой Windows;
  • пользователь базы данных, сопоставленный с сертификатом;
  • пользователь базы данных, сопоставленный с асимметричным ключом;
  • пользователь базы данных, не сопоставленный с сервером-участником.

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

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

  • пользователь базы данных;
  • роль базы данных;
  • Роль приложения
  • пользователь базы данных, сопоставленный с именем входа Windows;
  • пользователь базы данных, сопоставленный с группой Windows;
  • пользователь базы данных, сопоставленный с сертификатом;
  • пользователь базы данных, сопоставленный с асимметричным ключом;
  • пользователь базы данных, не сопоставленный с сервером-участником.

Замечания

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

Разрешение схемы Содержится в разрешении схемы Содержится в разрешении базы данных
ИЗМЕНИТЬ ПРОИЗВОДИТЕЛЬНОСТИ ALTER ANY SCHEMA
ПРОИЗВОДИТЕЛЬНОСТИ ПРОИЗВОДИТЕЛЬНОСТИ ПРОИЗВОДИТЕЛЬНОСТИ
CREATE SEQUENCE ИЗМЕНИТЬ ALTER ANY SCHEMA
DELETE ПРОИЗВОДИТЕЛЬНОСТИ DELETE
ВЫПОЛНИТЬ ПРОИЗВОДИТЕЛЬНОСТИ ВЫПОЛНИТЬ
ВСТАВИТЬ ПРОИЗВОДИТЕЛЬНОСТИ ВСТАВИТЬ
ССЫЛКИ ПРОИЗВОДИТЕЛЬНОСТИ ССЫЛКИ
SELECT ПРОИЗВОДИТЕЛЬНОСТИ SELECT
TAKE OWNERSHIP ПРОИЗВОДИТЕЛЬНОСТИ ПРОИЗВОДИТЕЛЬНОСТИ
UPDATE ПРОИЗВОДИТЕЛЬНОСТИ UPDATE
VIEW CHANGE TRACKING ПРОИЗВОДИТЕЛЬНОСТИ ПРОИЗВОДИТЕЛЬНОСТИ
VIEW DEFINITION ПРОИЗВОДИТЕЛЬНОСТИ 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)