DENY, запрет разрешений на тип (Transact-SQL)
Область применения: SQL Server
База данных SQL Azure
Управляемый экземпляр SQL Azure
базе данных SQL в Microsoft Fabric
Отказывает в разрешениях на тип в SQL Server.
Соглашения о синтаксисе 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
Указывает роль приложения.
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.
Наиболее специфичные и ограниченные разрешения, которые можно запретить для типа, перечислены в следующей таблице вместе с общими разрешениями, неявно содержащими их.
Разрешение типа | Содержится в разрешении типа данных | Содержится в разрешении схемы |
---|---|---|
ПРОИЗВОДИТЕЛЬНОСТИ | ПРОИЗВОДИТЕЛЬНОСТИ | ПРОИЗВОДИТЕЛЬНОСТИ |
Выполнение | ПРОИЗВОДИТЕЛЬНОСТИ | Выполнение |
ССЫЛКИ | ПРОИЗВОДИТЕЛЬНОСТИ | ССЫЛКИ |
TAKE OWNERSHIP | ПРОИЗВОДИТЕЛЬНОСТИ | ПРОИЗВОДИТЕЛЬНОСТИ |
VIEW DEFINITION | ПРОИЗВОДИТЕЛЬНОСТИ | 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)
Субъекты (ядро СУБД)
Разрешения (ядро СУБД)
Защищаемые объекты