DENY, запрет разрешений на тип (Transact-SQL)
Запрещает доступ к типу.
Синтаксические обозначения в 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 не применяются к системным типам. На определяемые пользователем типы могут быть предоставлены разрешения. Дополнительные сведения об определяемых пользователем типах см. в разделе Working with User-Defined Types in 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)
Другие ресурсы
Участники
Разрешения
Защищаемые объекты