Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Point de terminaison d’analytique SQL dans Microsoft Fabric
Entrepôt dans Microsoft Fabric
Base de données SQL dans Microsoft Fabric
Refuse les autorisations sur une base de données dans SQL Server.
Conventions de la syntaxe 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 spécifie une autorisation qui peut être refusée sur une base de données. Pour obtenir la liste des autorisations, consultez la section Notes plus loin dans cette rubrique.
L’option ALL n’interdit pas toutes les autorisations possibles. Refuser ALL équivaut à refuser les permissions suivantes : BACKUP, LOG, CREATE DATABASE, CREATE DEFAULT, CREATE FUNCTION, CREATE PROCEDURE, CREATE RULE, , CREATE TABLE, , et CREATE VIEW. BACKUPDATABASE
PRIVILEGES Inclus pour la conformité aux normes ISO. Ne change pas le comportement de l'option ALL.
CASCADE indique que l’autorisation sera également refusée aux principaux auxquels le principal spécifié l’a accordée.
AS <database_principal> spécifie un principal dont le principal qui exécute cette requête dérive son droit de refuser l’autorisation.
Database_user Spécifie un utilisateur de base de données.
Database_role Spécifie un rôle de base de données.
Application_roleS’applique à : SQL Server 2008 (10.0.x) et versions ultérieures, Azure SQL Database.
Spécifie un rôle d'application.
Database_user_mapped_to_Windows_User spécifie un utilisateur de base de données mappé à un utilisateur Windows.
Database_user_mapped_to_Windows_Group spécifie un utilisateur de base de données mappé à un groupe Windows.
Database_user_mapped_to_certificate spécifie un utilisateur de base de données mappé à un certificat.
Database_user_mapped_to_asymmetric_key spécifie un utilisateur de base de données mappé à une clé asymétrique.
Database_user_with_no_login Spécifie un utilisateur de base de données sans principal au niveau du serveur correspondant.
Remarks
Une base de données est un élément sécurisable contenu par le serveur qui est son parent dans la hiérarchie des autorisations. Les autorisations les plus spécifiques et limitées qu'il est possible de refuser sur une base de données sont répertoriées dans le tableau ci-dessous, avec les autorisations plus générales qui les incluent de manière implicite.
| Autorisation de base de données | Impliquée par une autorisation de base de données | Déduite d'une autorisation de serveur |
|---|---|---|
| ADMINISTRATION DATABASE DES OPÉRATIONS EN VRAC S’applique à : SQL Database. |
CONTROL | SERVEUR DE CONTRÔLE |
| ALTER | CONTROL | MODIFIER TOUT DATABASE |
| MODIFIER TOUT APPLICATION ROLE | ALTER | SERVEUR DE CONTRÔLE |
| MODIFIER TOUT ASSEMBLY | ALTER | SERVEUR DE CONTRÔLE |
| MODIFIER TOUT ASYMMETRIC KEY | ALTER | SERVEUR DE CONTRÔLE |
| MODIFIER TOUT CERTIFICATE | ALTER | SERVEUR DE CONTRÔLE |
| MODIFIER TOUT COLUMN ENCRYPTION KEY | ALTER | SERVEUR DE CONTRÔLE |
| MODIFIER TOUTE COLUMN MASTER KEY DÉFINITION | ALTER | SERVEUR DE CONTRÔLE |
| MODIFIER TOUT CONTRACT | ALTER | SERVEUR DE CONTRÔLE |
| MODIFIER TOUT DATABASE AUDIT | ALTER | MODIFIER TOUT SERVER AUDIT |
| MODIFIER N’IMPORTE QUEL DATABASE DDL TRIGGER | ALTER | SERVEUR DE CONTRÔLE |
| MODIFIER TOUT DATABASEEVENT NOTIFICATION | ALTER | MODIFIER TOUT EVENT NOTIFICATION |
| MODIFIER TOUT DATABASEEVENT SESSION S'applique à: Azure SQL Database. |
ALTER | MODIFIER TOUT EVENT SESSION |
| MODIFIER TOUT DATABASE SCOPED CONFIGURATION S’applique à : SQL Server 2016 (13.x) et versions ultérieures, SQL Database. |
CONTROL | SERVEUR DE CONTRÔLE |
| MODIFIER TOUT ESPACE DE DONNÉES | ALTER | SERVEUR DE CONTRÔLE |
| MODIFIER TOUT EXTERNAL DATA SOURCE | ALTER | SERVEUR DE CONTRÔLE |
| MODIFIER TOUT EXTERNAL FILE FORMAT | ALTER | SERVEUR DE CONTRÔLE |
| MODIFIER TOUT EXTERNAL LIBRARY S'applique à: SQL Server 2017 (14.x). |
CONTROL | SERVEUR DE CONTRÔLE |
| MODIFIER TOUT FULLTEXT CATALOG | ALTER | SERVEUR DE CONTRÔLE |
| MODIFIER TOUT MASQUE | CONTROL | SERVEUR DE CONTRÔLE |
| MODIFIER TOUT MESSAGE TYPE | ALTER | SERVEUR DE CONTRÔLE |
| MODIFIER TOUT REMOTE SERVICE BINDING | ALTER | SERVEUR DE CONTRÔLE |
| MODIFIER TOUT ROLE | ALTER | SERVEUR DE CONTRÔLE |
| MODIFIER TOUT ROUTE | ALTER | SERVEUR DE CONTRÔLE |
| MODIFIER TOUT SECURITY POLICY S’applique à : SQL Server 2016 (13.x) et versions ultérieures, Azure SQL Database. |
CONTROL | SERVEUR DE CONTRÔLE |
| MODIFIER TOUT SCHEMA | ALTER | SERVEUR DE CONTRÔLE |
| MODIFIER TOUT SERVICE | ALTER | SERVEUR DE CONTRÔLE |
| MODIFIER TOUT SYMMETRIC KEY | ALTER | SERVEUR DE CONTRÔLE |
| MODIFIER TOUT USER | ALTER | SERVEUR DE CONTRÔLE |
| AUTHENTICATE | CONTROL | AUTHENTIFIER LE SERVEUR |
| BACKUP DATABASE | CONTROL | SERVEUR DE CONTRÔLE |
| BACKUP JOURNAL | CONTROL | SERVEUR DE CONTRÔLE |
| CHECKPOINT | CONTROL | SERVEUR DE CONTRÔLE |
| CONNECT | RÉPLICATION DE CONNEXION | SERVEUR DE CONTRÔLE |
| RÉPLICATION DE CONNEXION | CONTROL | SERVEUR DE CONTRÔLE |
| CONTROL | CONTROL | SERVEUR DE CONTRÔLE |
| CREATE AGGREGATE | ALTER | SERVEUR DE CONTRÔLE |
| CREATE ASSEMBLY | MODIFIER TOUT ASSEMBLY | SERVEUR DE CONTRÔLE |
| CREATE ASYMMETRIC KEY | MODIFIER TOUT ASYMMETRIC KEY | SERVEUR DE CONTRÔLE |
| CREATE CERTIFICATE | MODIFIER TOUT CERTIFICATE | SERVEUR DE CONTRÔLE |
| CREATE CONTRACT | MODIFIER TOUT CONTRACT | SERVEUR DE CONTRÔLE |
| CREATE DATABASE | CONTROL | CRÉEZ N’IMPORTE QUEL DATABASE |
| CREATE DATABASE DDL EVENT NOTIFICATION | MODIFIER TOUT DATABASEEVENT NOTIFICATION | CRÉER DDL EVENT NOTIFICATION |
| CREATE DEFAULT | ALTER | SERVEUR DE CONTRÔLE |
| CREATE FULLTEXT CATALOG | MODIFIER TOUT FULLTEXT CATALOG | SERVEUR DE CONTRÔLE |
| CREATE FUNCTION | ALTER | SERVEUR DE CONTRÔLE |
| CREATE MESSAGE TYPE | MODIFIER TOUT MESSAGE TYPE | SERVEUR DE CONTRÔLE |
| CREATE PROCEDURE | ALTER | SERVEUR DE CONTRÔLE |
| CREATE QUEUE | ALTER | SERVEUR DE CONTRÔLE |
| CREATE REMOTE SERVICE BINDING | MODIFIER TOUT REMOTE SERVICE BINDING | SERVEUR DE CONTRÔLE |
| CREATE ROLE | MODIFIER TOUT ROLE | SERVEUR DE CONTRÔLE |
| CREATE ROUTE | MODIFIER TOUT ROUTE | SERVEUR DE CONTRÔLE |
| CREATE RULE | ALTER | SERVEUR DE CONTRÔLE |
| CREATE SCHEMA | MODIFIER TOUT SCHEMA | SERVEUR DE CONTRÔLE |
| CREATE SERVICE | MODIFIER TOUT SERVICE | SERVEUR DE CONTRÔLE |
| CREATE SYMMETRIC KEY | MODIFIER TOUT SYMMETRIC KEY | SERVEUR DE CONTRÔLE |
| CREATE SYNONYM | ALTER | SERVEUR DE CONTRÔLE |
| CREATE TABLE | ALTER | SERVEUR DE CONTRÔLE |
| CREATE TYPE | ALTER | SERVEUR DE CONTRÔLE |
| CREATE VIEW | ALTER | SERVEUR DE CONTRÔLE |
| CREATE XML SCHEMA COLLECTION | ALTER | SERVEUR DE CONTRÔLE |
| DELETE | CONTROL | SERVEUR DE CONTRÔLE |
| EXECUTE | CONTROL | SERVEUR DE CONTRÔLE |
| EXÉCUTER UN SCRIPT EXTERNE S'applique à: SQL Server 2016 (13.x). |
CONTROL | SERVEUR DE CONTRÔLE |
| INSERT | CONTROL | SERVEUR DE CONTRÔLE |
| KILL DATABASE CONNECTION S'applique à: Azure SQL Database. |
CONTROL | MODIFIER N’IMPORTE QUELLE CONNEXION |
| REFERENCES | CONTROL | SERVEUR DE CONTRÔLE |
| SELECT | CONTROL | SERVEUR DE CONTRÔLE |
| SHOWPLAN | CONTROL | ALTER TRACE |
| NOTIFICATIONS DE REQUÊTE D’ABONNEMENT | CONTROL | SERVEUR DE CONTRÔLE |
| PRENDRE POSSESSION | CONTROL | SERVEUR DE CONTRÔLE |
| UNMASK | CONTROL | SERVEUR DE CONTRÔLE |
| UPDATE | CONTROL | SERVEUR DE CONTRÔLE |
| VIEW N’IMPORTE LA COLUMN ENCRYPTION KEY | CONTROL | VIEW TOUTE DÉFINITION |
| VIEW TOUTE MASTER KEY DÉFINITION | CONTROL | VIEW TOUTE DÉFINITION |
| VIEW DATABASE ÉTAT | CONTROL | VIEW ÉTAT DU SERVEUR |
| VIEW DÉFINITION | CONTROL | VIEW TOUTE DÉFINITION |
Permissions
Le principal qui exécute cette instruction (ou le principal spécifié avec l'option AS) doit posséder l'autorisation CONTROL sur la base de données ou une autorisation plus élevée qui implique l'autorisation CONTROL sur la base de données.
Si vous utilisez l'option AS, le principal spécifié doit être propriétaire de la base de données.
Examples
A. Refus d'une autorisation de créer des certificats
Dans l'exemple ci-dessous, l'autorisation CREATE CERTIFICATE sur la base de données AdventureWorks2025 est refusée à l'utilisateur MelanieK.
USE AdventureWorks2022;
DENY CREATE CERTIFICATE TO MelanieK;
GO
B. Refus d'une autorisation REFERENCES à un rôle d'application
Dans l'exemple ci-dessous, l'autorisation REFERENCES sur la base de données AdventureWorks2025 est refusée au rôle d'application AuditMonitor.
S’applique à : SQL Server 2008 (10.0.x) et versions ultérieures, Azure SQL Database.
USE AdventureWorks2022;
DENY REFERENCES TO AuditMonitor;
GO
C. Nier VIEW la DÉFINITION avec CASCADE
Dans l’exemple ci-dessous, l’autorisation VIEW DEFINITION sur la base de données AdventureWorks2025 est refusée à l’utilisateur CarmineEs et à tous les principaux auxquels CarmineEs a accordé l’autorisation VIEW DEFINITION.
USE AdventureWorks2022;
DENY VIEW DEFINITION TO CarmineEs CASCADE;
GO