Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de changer d’annuaire.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer d’annuaire.
S’applique à :SQL Server
Azure SQL Database
Azure SQL Managed Instance
Ajoute un rôle d'application à la base de données active.
Conventions de la syntaxe Transact-SQL
Syntaxe
CREATE APPLICATION ROLE application_role_name
WITH PASSWORD = 'password' [ , DEFAULT_SCHEMA = schema_name ]
Les arguments
application_role_name
Indique le nom du rôle d'application. Ce nom ne doit pas être déjà utilisé pour référencer un principal dans la base de données.
MOT de PASSE = 'mot de passe'
Spécifie le mot de passe que les utilisateurs de base de données doivent utiliser pour activer le rôle d'application. Vous devez toujours utiliser des mots de passe forts.
password doit répondre aux exigences de stratégie de mot de passe Windows de l’ordinateur exécutant l’instance de SQL Server.
DEFAULT_SCHEMA = schema_name
Indique le premier schéma dans lequel le serveur doit effectuer des recherches lorsqu'il résout les noms des objets pour ce rôle. Si DEFAULT_SCHEMA n’est pas défini, le rôle d’application est utilisé dbo comme schéma par défaut.
schema_name peut être un schéma qui n’existe pas dans la base de données.
Notes
Important
La complexité des mots de passe est vérifiée lors de la définition des mots de passe des rôles d'application. Les applications qui appellent des rôles d'application doivent stocker leurs mots de passe. Les mots de passe des rôles d'application doivent toujours être stockés sous forme chiffrée.
Les rôles d’application sont consultables dans la vue de catalogue sys.database_principals.
Pour plus d’informations sur l’utilisation des rôles d’application, consultez Rôles d’application.
Remarque
Les schémas ne sont pas équivalents aux utilisateurs de base de données. Utilisez les vues de catalogue système pour identifier les différences entre les utilisateurs de base de données et les schémas.
À compter de SQL Server 2012 (11.x), SQL Server et Azure SQL DB utilisaient un hachage SHA-512 combiné à un sel aléatoire et unique de 32 bits. Cette méthode l’a rendu statistiquement impossible pour les attaquants de déduire les mots de passe.
SQL Server 2025 (17.x) introduit un algorithme de hachage itéré, RFC2898, également appelé fonction de dérivation de clé basée sur mot de passe (PBKDF). Cet algorithme utilise toujours SHA-512, mais hachage le mot de passe plusieurs fois (100 000 itérations), ralentissant considérablement les attaques par force brute. Cette modification améliore la protection par mot de passe en réponse aux menaces de sécurité en constante évolution et aide les clients à se conformer aux directives NIST SP 800-63b. Cette amélioration de la sécurité utilise un algorithme de hachage plus fort, qui peut légèrement augmenter le temps de connexion pour les connexions d’authentification SQL. L’impact est généralement inférieur dans les environnements avec le regroupement de connexions, mais peut être plus visible dans les scénarios sans regroupement ni où la latence de connexion est étroitement surveillée.
Autorisations
Nécessite l'autorisation ALTER ANY APPLICATION ROLE sur la base de données.
Exemples
Dans l'exemple ci-dessous, un rôle d'application nommé weekly_receipts est créé, doté du mot de passe 987Gbv876sPYY5m23 et du schéma Sales par défaut.
CREATE APPLICATION ROLE weekly_receipts
WITH PASSWORD = '987G^bv876sPY)Y5m23'
, DEFAULT_SCHEMA = Sales;
GO