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
Modifie le nom, le mot de passe ou le schéma par défaut d'un rôle d'application.
Conventions de la syntaxe Transact-SQL
Syntaxe
ALTER APPLICATION ROLE application_role_name
WITH <set_item> [ , ...n ]
<set_item> ::=
NAME = new_application_role_name
| PASSWORD = 'password'
| DEFAULT_SCHEMA = schema_name
Les arguments
application_role_name
Nom du rôle d’application à modifier.
NOM = new_application_role_name
Spécifie le nouveau 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 du rôle d'application.
password doit répondre aux exigences de stratégie de mot de passe Windows de l’ordinateur exécutant l’instance de SQL Server. Vous devez toujours utiliser des mots de passe forts.
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. schema_name peut être un schéma qui n’existe pas dans la base de données.
Notes
Si le nouveau nom du rôle d’application existe déjà dans la base de données, l’instruction échoue. Lorsque le nom, le mot de passe ou le schéma par défaut d’un rôle d’application est modifié l’ID associé au rôle n’est pas modifié.
Important
La stratégie d’expiration de mot de passe n’est pas appliquée aux mots de passe de rôle d’application. Pour cette raison, faites extrêmement attention lorsque vous choisissez des mots de passe forts. Les applications qui appellent des rôles d'application doivent stocker leurs mots de passe.
Les rôles d’application sont visibles dans l’affichage sys.database_principals catalogue.
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. Pour modifier le schéma par défaut, l'utilisateur doit également bénéficier de l'autorisation ALTER sur le rôle d'application. Un rôle d'application peut modifier son schéma par défaut, mais pas son nom ni son mot de passe.
Exemples
R. Modification du nom d'un rôle d'application
Le code exemple suivant remplace le nom du rôle d'application weekly_receipts par receipts_ledger.
USE AdventureWorks2022;
CREATE APPLICATION ROLE weekly_receipts
WITH PASSWORD = '987Gbv8$76sPYY5m23' ,
DEFAULT_SCHEMA = Sales;
GO
ALTER APPLICATION ROLE weekly_receipts
WITH NAME = receipts_ledger;
GO
B. Modification du mot de passe d'un rôle d'application
Le code exemple suivant modifie le mot de passe du rôle d'application receipts_ledger.
ALTER APPLICATION ROLE receipts_ledger
WITH PASSWORD = '897yUUbv867y$200nk2i';
GO
Chapitre C. Modification du nom, du mot de passe et du schéma par défaut
Le code exemple suivant modifie simultanément le nom, le mot de passe et le schéma par défaut du rôle d'application receipts_ledger.
ALTER APPLICATION ROLE receipts_ledger
WITH NAME = weekly_ledger,
PASSWORD = '897yUUbv77bsrEE00nk2i',
DEFAULT_SCHEMA = Production;
GO