Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Применимо к: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)
Разрешения (ядро СУБД)
Субъекты (ядро СУБД)