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 ]
Аргументы
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)