Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к:SQL Server
База данных Azure SQL
Управляемый экземпляр Azure SQL
Azure Synapse Analytics
Система платформы аналитики (PDW)
Конечная точка SQL аналитики в Microsoft Fabric
Хранилище в Microsoft Fabric
База данных SQL в Microsoft Fabric
Отклоняет разрешения на базу данных в SQL Server.
Соглашения о синтаксисе Transact-SQL
Syntax
DENY <permission> [ ,...n ]
TO <database_principal> [ ,...n ] [ CASCADE ]
[ AS <database_principal> ]
<permission> ::=
permission | ALL [ PRIVILEGES ]
<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 — указывает отзываемое разрешение для базы данных. Список разрешений см. в подразделе "Примечания" далее в этом разделе.
ALL — этот параметр запрещает не все возможные разрешения. Отказ ALL эквивалентен отказу следующих разрешений: BACKUP, LOG, DATABASE, BACKUP, CREATE DATABASE, , CREATE DEFAULT, CREATE FUNCTIONCREATE PROCEDURE, и CREATE RULE. CREATE TABLECREATE VIEW
PRIVILEGES — включено для обеспечения совместимости с требованиями ISO. Не изменяет работу ALL.
CASCADE — показывает, что разрешение будет запрещено еще и для тех участников, которым его предоставил указанный участник.
AS <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
База данных — это защищаемый объект, хранящийся на сервере, который является родителем базы данных в иерархии разрешений. Самые специфичные и ограниченные разрешения на работу с базой данных, которые можно запрещать, приведены в следующей таблице вместе с общими разрешениями, неявно их охватывающими.
| Разрешение базы данных | Содержится в разрешении базы данных | Подразумевается в разрешении сервера |
|---|---|---|
| АДМИНИСТРИРОВАНИЕ DATABASE МАССОВЫХ ОПЕРАЦИЙ Область применения: База данных SQL. |
CONTROL | сервер управления |
| ALTER | CONTROL | ИЗМЕНЕНИЕ ЛЮБОГО DATABASE |
| ИЗМЕНЕНИЕ ЛЮБОГО APPLICATION ROLE | ALTER | сервер управления |
| ИЗМЕНЕНИЕ ЛЮБОГО ASSEMBLY | ALTER | сервер управления |
| ИЗМЕНЕНИЕ ЛЮБОГО ASYMMETRIC KEY | ALTER | сервер управления |
| ИЗМЕНЕНИЕ ЛЮБОГО CERTIFICATE | ALTER | сервер управления |
| ИЗМЕНЕНИЕ ЛЮБОГО COLUMN ENCRYPTION KEY | ALTER | сервер управления |
| ИЗМЕНИТЬ ЛЮБОЕ COLUMN MASTER KEY ОПРЕДЕЛЕНИЕ | ALTER | сервер управления |
| ИЗМЕНЕНИЕ ЛЮБОГО CONTRACT | ALTER | сервер управления |
| ИЗМЕНИТЬ ЛЮБОЙ DATABASE АУДИТ | ALTER | ИЗМЕНЕНИЕ ЛЮБОГО SERVER AUDIT |
| ИЗМЕНИТЬ ЛЮБОЙ DATABASE DDL TRIGGER | ALTER | сервер управления |
| ИЗМЕНИТЕ ЛЮБЫЕ DATABASEEVENT NOTIFICATION | ALTER | ИЗМЕНЕНИЕ ЛЮБОГО EVENT NOTIFICATION |
| ИЗМЕНИТЕ ЛЮБЫЕ DATABASEEVENT SESSION Область применения: База данных SQL Azure. |
ALTER | ИЗМЕНЕНИЕ ЛЮБОГО EVENT SESSION |
| ИЗМЕНЕНИЕ ЛЮБОГО DATABASE SCOPED CONFIGURATION Область применения: SQL Server 2016 (13.x) и более поздних версий База данных SQL. |
CONTROL | сервер управления |
| ИЗМЕНИТЬ ЛЮБОЕ ПРОСТРАНСТВО ДАННЫХ | ALTER | сервер управления |
| ИЗМЕНЕНИЕ ЛЮБОГО EXTERNAL DATA SOURCE | ALTER | сервер управления |
| ИЗМЕНЕНИЕ ЛЮБОГО EXTERNAL FILE FORMAT | ALTER | сервер управления |
| ИЗМЕНЕНИЕ ЛЮБОГО EXTERNAL LIBRARY Область применения: SQL Server 2017 (14.x). |
CONTROL | сервер управления |
| ИЗМЕНЕНИЕ ЛЮБОГО FULLTEXT CATALOG | ALTER | сервер управления |
| ИЗМЕНИТЬ ЛЮБУЮ МАСКУ | CONTROL | сервер управления |
| ИЗМЕНЕНИЕ ЛЮБОГО MESSAGE TYPE | ALTER | сервер управления |
| ИЗМЕНЕНИЕ ЛЮБОГО REMOTE SERVICE BINDING | ALTER | сервер управления |
| ИЗМЕНЕНИЕ ЛЮБОГО ROLE | ALTER | сервер управления |
| ИЗМЕНЕНИЕ ЛЮБОГО ROUTE | ALTER | сервер управления |
| ИЗМЕНЕНИЕ ЛЮБОГО SECURITY POLICY Область применения: SQL Server 2016 (13.x) и более поздних версий, База данных SQL Azure. |
CONTROL | сервер управления |
| ИЗМЕНЕНИЕ ЛЮБОГО SCHEMA | ALTER | сервер управления |
| ИЗМЕНЕНИЕ ЛЮБОГО SERVICE | ALTER | сервер управления |
| ИЗМЕНЕНИЕ ЛЮБОГО SYMMETRIC KEY | ALTER | сервер управления |
| ИЗМЕНЕНИЕ ЛЮБОГО USER | ALTER | сервер управления |
| AUTHENTICATE | CONTROL | ПРОВЕРКА ПОДЛИННОСТИ СЕРВЕРА |
| BACKUP DATABASE | CONTROL | сервер управления |
| BACKUP ЖУРНАЛА | CONTROL | сервер управления |
| CHECKPOINT | CONTROL | сервер управления |
| CONNECT | РЕПЛИКАЦИЯ CONNECT | сервер управления |
| РЕПЛИКАЦИЯ CONNECT | CONTROL | сервер управления |
| CONTROL | CONTROL | сервер управления |
| CREATE AGGREGATE | ALTER | сервер управления |
| CREATE ASSEMBLY | ИЗМЕНЕНИЕ ЛЮБОГО ASSEMBLY | сервер управления |
| CREATE ASYMMETRIC KEY | ИЗМЕНЕНИЕ ЛЮБОГО ASYMMETRIC KEY | сервер управления |
| CREATE CERTIFICATE | ИЗМЕНЕНИЕ ЛЮБОГО CERTIFICATE | сервер управления |
| CREATE CONTRACT | ИЗМЕНЕНИЕ ЛЮБОГО CONTRACT | сервер управления |
| CREATE DATABASE | CONTROL | СОЗДАНИЕ ЛЮБОГО DATABASE |
| CREATE DATABASE DDL EVENT NOTIFICATION | ИЗМЕНИТЕ ЛЮБЫЕ DATABASEEVENT NOTIFICATION | СОЗДАТЬ DDL EVENT NOTIFICATION |
| CREATE DEFAULT | ALTER | сервер управления |
| CREATE FULLTEXT CATALOG | ИЗМЕНЕНИЕ ЛЮБОГО FULLTEXT CATALOG | сервер управления |
| CREATE FUNCTION | ALTER | сервер управления |
| CREATE MESSAGE TYPE | ИЗМЕНЕНИЕ ЛЮБОГО MESSAGE TYPE | сервер управления |
| CREATE PROCEDURE | ALTER | сервер управления |
| CREATE QUEUE | ALTER | сервер управления |
| CREATE REMOTE SERVICE BINDING | ИЗМЕНЕНИЕ ЛЮБОГО REMOTE SERVICE BINDING | сервер управления |
| CREATE ROLE | ИЗМЕНЕНИЕ ЛЮБОГО ROLE | сервер управления |
| CREATE ROUTE | ИЗМЕНЕНИЕ ЛЮБОГО ROUTE | сервер управления |
| CREATE RULE | ALTER | сервер управления |
| CREATE SCHEMA | ИЗМЕНЕНИЕ ЛЮБОГО SCHEMA | сервер управления |
| CREATE SERVICE | ИЗМЕНЕНИЕ ЛЮБОГО SERVICE | сервер управления |
| CREATE SYMMETRIC KEY | ИЗМЕНЕНИЕ ЛЮБОГО SYMMETRIC KEY | сервер управления |
| CREATE SYNONYM | ALTER | сервер управления |
| CREATE TABLE | ALTER | сервер управления |
| CREATE TYPE | ALTER | сервер управления |
| CREATE VIEW | ALTER | сервер управления |
| CREATE XML SCHEMA COLLECTION | ALTER | сервер управления |
| DELETE | CONTROL | сервер управления |
| EXECUTE | CONTROL | сервер управления |
| ВЫПОЛНЕНИЕ ЛЮБОГО ВНЕШНЕГО СКРИПТА Область применения: SQL Server 2016 (13.x). |
CONTROL | сервер управления |
| INSERT | CONTROL | сервер управления |
| РАЗОРВАТЬ DATABASE СОЕДИНЕНИЕ Область применения: База данных SQL Azure. |
CONTROL | ИЗМЕНЕНИЕ ЛЮБОГО СОЕДИНЕНИЯ |
| REFERENCES | CONTROL | сервер управления |
| SELECT | CONTROL | сервер управления |
| SHOWPLAN | CONTROL | ALTER TRACE (изменение трассировки) |
| УВЕДОМЛЕНИЯ О ЗАПРОСЕ НА ПОДПИСКУ | CONTROL | сервер управления |
| ВОЗЬМИТЕ ОТВЕТСТВЕННОСТЬ | CONTROL | сервер управления |
| UNMASK | CONTROL | сервер управления |
| UPDATE | CONTROL | сервер управления |
| VIEW ЛЮБОЙ COLUMN ENCRYPTION KEY | CONTROL | VIEW ЛЮБОЕ ОПРЕДЕЛЕНИЕ |
| VIEW ЛЮБОЕ MASTER KEY ОПРЕДЕЛЕНИЕ | CONTROL | VIEW ЛЮБОЕ ОПРЕДЕЛЕНИЕ |
|
VIEW
DATABASE СОСТОЯНИЕ ПРОИЗВОДИТЕЛЬНОСТИ Область применения: SQL Server 2022 (16.x) и более поздних версий. |
VIEW DATABASE ГОСУДАРСТВА | VIEW СОСТОЯНИЕ ПРОИЗВОДИТЕЛЬНОСТИ СЕРВЕРА |
|
VIEW
DATABASE СОСТОЯНИЕ БЕЗОПАСНОСТИ Область применения: SQL Server 2022 (16.x) и более поздних версий. |
VIEW DATABASE ГОСУДАРСТВА | VIEW СОСТОЯНИЕ БЕЗОПАСНОСТИ СЕРВЕРА |
| VIEW DATABASE ГОСУДАРСТВА | CONTROL | VIEW СОСТОЯНИЕ СЕРВЕРА |
| VIEW ОПРЕДЕЛЕНИЕ | CONTROL | VIEW ЛЮБОЕ ОПРЕДЕЛЕНИЕ |
|
VIEW ОПРЕДЕЛЕНИЕ ПРОИЗВОДИТЕЛЬНОСТИ Область применения: SQL Server 2022 (16.x) и более поздних версий. |
VIEW ОПРЕДЕЛЕНИЕ | VIEW ЛЮБОЕ ОПРЕДЕЛЕНИЕ ПРОИЗВОДИТЕЛЬНОСТИ |
|
VIEW ОПРЕДЕЛЕНИЕ БЕЗОПАСНОСТИ Область применения: SQL Server 2022 (16.x) и более поздних версий. |
VIEW ОПРЕДЕЛЕНИЕ | VIEW ЛЮБОЕ ОПРЕДЕЛЕНИЕ БЕЗОПАСНОСТИ |
Permissions
Участник, выполняющий эту инструкцию (или участник, указанный параметром AS), должен иметь разрешение CONTROL на базу данных или разрешение более высокого уровня, которое включает это разрешение.
Если указан параметр AS, указанный участник должен быть владельцем базы данных.
Examples
A. Запрет разрешения на создание сертификатов
Следующий код отказывает в разрешении CREATE CERTIFICATE пользователю AdventureWorks2025 базы данных MelanieK.
USE AdventureWorks2022;
DENY CREATE CERTIFICATE TO MelanieK;
GO
B. Запрет разрешения REFERENCES для роли приложения
Следующий код запрещает разрешение REFERENCES, связанное с базой данных AdventureWorks2025 для роли приложения AuditMonitor.
Область применения: SQL Server 2008 (10.0.x) и более поздних версий База данных SQL.
USE AdventureWorks2022;
DENY REFERENCES TO AuditMonitor;
GO
C. Отрицание VIEW ОПРЕДЕЛЕНИЯ с помощью CASCADE
Следующий код запрещает разрешение VIEW DEFINITION, связанное с базой данных AdventureWorks2025, для пользователя CarmineEs и всех участников, которым CarmineEs предоставил разрешение VIEW DEFINITION.
USE AdventureWorks2022;
DENY VIEW DEFINITION TO CarmineEs CASCADE;
GO