Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Применимо к:SQL Server
База данных
SQL AzureУправляемый экземпляр
SQL AzureБаза данных SQL в Microsoft Fabric
Отменяет разрешения, предоставленные или запрещенные для пользователя базы данных, роли базы данных или роли приложения.
Соглашения о синтаксисе Transact-SQL
Syntax
REVOKE [ GRANT OPTION FOR ] permission [ ,...n ]
ON
{ [ USER :: database_user ]
| [ ROLE :: database_role ]
| [ APPLICATION ROLE :: application_role ]
}
{ FROM | 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
Указывает класс и имя роли приложения, у которой отменяется разрешение. Квалификатор области (::) является обязательным.
ОПЦИЯ ГРАНТА
Показывает, что отменяется право на предоставление указанного разрешения другим участникам. Само разрешение отменено не будет.
Important
Если участник обладает указанным разрешением без параметра GRANT, будет отменено само разрешение.
CASCADE
Показывает, что отменяемое разрешение также отменяется для других участников, для которых оно было предоставлено или запрещено данным участником.
Caution
Каскадная отмена разрешения, предоставленного с помощью параметра WITH GRANT OPTION, приведет к отмене разрешений GRANT и DENY для этого разрешения.
AS <database_principal> Указывает субъекта, от которого субъект, выполняющий данный запрос, наследует право на отмену разрешения.
Database_user
Указывает пользователя базы данных.
Database_role
Указывает роль базы данных.
Application_role
Область применения: SQL Server 2008 (10.0.x) и более поздних версий База данных SQL
Указывает роль приложения.
Database_user_mapped_to_Windows_User
Область применения: SQL Server 2008 (10.0.x) и более поздних версий
Указывает пользователя базы данных, сопоставленного с пользователем Windows.
Database_user_mapped_to_Windows_Group
Область применения: SQL Server 2008 (10.0.x) и более поздних версий
Указывает пользователя базы данных, сопоставленного с группой Windows.
Database_user_mapped_to_certificate
Область применения: SQL Server 2008 (10.0.x) и более поздних версий
Указывает пользователя базы данных, сопоставленного с сертификатом.
Database_user_mapped_to_asymmetric_key
Область применения: SQL Server 2008 (10.0.x) и более поздних версий
Указывает пользователя базы данных, сопоставленного с асимметричным ключом.
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 на пользователя Wanida базы данных RolandX.
USE AdventureWorks2022;
REVOKE CONTROL ON USER::Wanida FROM RolandX;
GO
B. Отмена разрешения VIEW DEFINITION на роль у пользователя, которому оно было предоставлено с параметром WITH GRANT OPTION
В следующем примере у пользователя VIEW DEFINITION отменяется разрешение AdventureWorks2025 на роль SammamishParking базы данных JinghaoLiu. Параметр CASCADE указан, поскольку пользователю JinghaoLiu было предоставлено разрешение VIEW DEFINITION с параметром WITH GRANT OPTION.
USE AdventureWorks2022;
REVOKE VIEW DEFINITION ON ROLE::SammamishParking
FROM JinghaoLiu CASCADE;
GO
C. Отмена разрешения IMPERSONATE на пользователя у роли приложения
В следующем примере у роли приложения IMPERSONATE отменяется разрешение HamithaL на пользователя AdventureWorks2025 базы данных AccountsPayable17.
Область применения: SQL Server 2008 (10.0.x) и более поздних версий База данных SQL
USE AdventureWorks2022;
REVOKE IMPERSONATE ON USER::HamithaL FROM 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)
Разрешения (ядро СУБД)
Субъекты (ядро СУБД)