Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Применимо к:SQL Server
База данных
SQL AzureУправляемый экземпляр
SQL AzureБаза данных SQL в Microsoft Fabric
Запрещает разрешения, предоставленные пользователю базы данных, роли базы данных или роли приложения в SQL Server.
Соглашения о синтаксисе Transact-SQL
Syntax
DENY permission [ ,...n ]
ON
{ [ USER :: database_user ]
| [ ROLE :: database_role ]
| [ APPLICATION ROLE :: application_role ]
}
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
Arguments
permission
Обозначает разрешение, которое можно запретить для участника базы данных. Список разрешений см. в подразделе "Примечания" далее в этом разделе.
ПОЛЬЗОВАТЕЛЬ ::database_user
Указывает класс и имя пользователя, для которых запрещается разрешение. Квалификатор области (::) является обязательным.
РОЛЬ ::database_role
Указывает класс и имя роли, для которой запрещается разрешение. Квалификатор области (::) является обязательным.
РОЛЬ ПРИЛОЖЕНИЯ ::application_role
Область применения: SQL Server 2008 (10.0.x) и более поздних версий База данных SQL.
Указывает класс и имя роли приложения, для которой запрещается разрешение. Квалификатор области (::) является обязательным.
CASCADE
Указывает, что запрещаемое разрешение также запрещается для других участников, которым оно было предоставлено данным участником.
КАК database_principal <>
Указывает участника, от которого участник, выполняющий данный запрос, получает право на отмену разрешения.
Database_user
Указывает пользователя базы данных.
Database_role
Указывает роль базы данных.
Application_role
Область применения: SQL Server 2008 (10.0.x) и более поздних версий База данных SQL.
Указывает роль приложения.
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
Указывает пользователя базы данных, не сопоставленного с субъектом серверного уровня.
Remarks
Разрешения пользователя базы данных
Пользователь базы данных — это защищаемый объект уровня базы данных, содержащийся в базе данных, являющейся родительским элементом в иерархии разрешений. Наиболее специфичные и ограниченные разрешения, которые можно запретить для пользователя базы данных, перечислены в следующей таблице наряду с общими разрешениями, неявно их содержащими.
| Разрешение пользователя базы данных | Содержится в разрешении пользователя базы данных | Содержится в разрешении базы данных |
|---|---|---|
| CONTROL | CONTROL | CONTROL |
| IMPERSONATE | CONTROL | CONTROL |
| ALTER | CONTROL | ИЗМЕНИТЬ ПОЛЬЗОВАТЕЛЯ |
| ПРЕДСТАВЛЕНИЕ ОПРЕДЕЛЕНИЯ | CONTROL | ПРЕДСТАВЛЕНИЕ ОПРЕДЕЛЕНИЯ |
Разрешения роли базы данных
Роль базы данных — это защищаемый объект уровня базы данных, содержащийся в базе данных, являющейся родительским элементом в иерархии разрешений. Наиболее специфичные и ограниченные разрешения, которые можно запретить для роли базы данных, перечислены в следующей таблице наряду с общими разрешениями, неявно их содержащими.
| Разрешение роли базы данных | Содержится в разрешении роли базы данных | Содержится в разрешении базы данных |
|---|---|---|
| CONTROL | CONTROL | CONTROL |
| ВОЗЬМИТЕ ОТВЕТСТВЕННОСТЬ | CONTROL | CONTROL |
| ALTER | CONTROL | ИЗМЕНИТЬ ЛЮБУЮ РОЛЬ |
| ПРЕДСТАВЛЕНИЕ ОПРЕДЕЛЕНИЯ | CONTROL | ПРЕДСТАВЛЕНИЕ ОПРЕДЕЛЕНИЯ |
Разрешения роли приложения
Роль приложения — это защищаемый объект уровня базы данных, содержащийся в базе данных, являющейся родительским элементом в иерархии разрешений. Наиболее специфичные и ограниченные разрешения, которые можно запретить для роли приложения, перечислены в следующей таблице наряду с общими разрешениями, неявно их содержащими.
| Разрешение роли приложения | Содержится в разрешении роли приложения | Содержится в разрешении базы данных |
|---|---|---|
| CONTROL | CONTROL | CONTROL |
| ALTER | CONTROL | ИЗМЕНИТЬ ЛЮБУЮ РОЛЬ ПРИЛОЖЕНИЯ |
| ПРЕДСТАВЛЕНИЕ ОПРЕДЕЛЕНИЯ | CONTROL | ПРЕДСТАВЛЕНИЕ ОПРЕДЕЛЕНИЯ |
Permissions
Требуется разрешение CONTROL для указанного участника или разрешение, неявно включающее в себя разрешение CONTROL.
Объекты, получившие разрешение CONTROL для базы данных, такие как члены предопределенной роли базы данных db_owner, могут запрещать любое разрешение для любого защищаемого объекта базы данных.
Examples
A. Запрет разрешения CONTROL на одного пользователя другому
Следующий пример отказывает CONTROL пользователю AdventureWorks2025 WanidaRolandXв разрешении пользователя .
USE AdventureWorks2022;
DENY CONTROL ON USER::Wanida TO RolandX;
GO
B. Запрет разрешения VIEW DEFINITION на роль пользователю, которому оно было предоставлено параметром GRANT OPTION
Следующий пример отказывает VIEW DEFINITION пользователю базы данных на разрешение на роль SammamishParkingJinghaoLiuAdventureWorks2025 . Используется параметр CASCADE, поскольку пользователю JinghaoLiu было предоставлено разрешение VIEW DEFINITION параметром WITH GRANT OPTION.
USE AdventureWorks2022;
DENY VIEW DEFINITION ON ROLE::SammamishParking
TO JinghaoLiu CASCADE;
GO
C. Запрет разрешения IMPERSONATE на пользователя роли приложения
Следующий пример отказывает IMPERSONATE пользователю HamithaL в разрешении на роль AccountsPayable17приложения AdventureWorks2025.
Область применения: SQL Server 2008 (10.0.x) и более поздних версий База данных SQL.
USE AdventureWorks2022;
DENY IMPERSONATE ON USER::HamithaL TO AccountsPayable17;
GO
См. также
Grant Database Principal Permissions (Transact-SQL)
ОТМЕНА разрешений субъекта базы данных (Transact-SQL)
sys.database_principals (Transact-SQL)
sys.database_permissions (Transact-SQL)
СОЗДАНИЕ ПОЛЬЗОВАТЕЛЯ (Transact-SQL)
СОЗДАТЬ РОЛЬ ПРИЛОЖЕНИЯ (Transact-SQL)
СОЗДАТЬ РОЛЬ (Transact-SQL)
ГРАНТ (Transact-SQL)
Разрешения (ядро СУБД)
Субъекты (ядро СУБД)