Accueil / Articles / Mots de passe SQL Server : générer et gérer les comptes
› ArticleMots de passe SQL Server : les générer, les poser, les contrôler.
Comptes applicatifs, comptes de maintenance, compte sa : un mot de passe faible ou réutilisé sur une instance SQL Server est une porte ouverte. Voici comment les générer, les poser sans casser les applications et auditer l'existant.
Générer un mot de passe vraiment aléatoire
Un mot de passe inventé par une personne suit des habitudes prévisibles. Un générateur aléatoire est préférable, avec au moins 16 à 20 caractères pour un compte de service ou applicatif, qui n'est jamais saisi à la main.
L'outil gratuit et sans publicité motdepasse.dev, que nous avons créé, génère des mots de passe complexes. D'après le site, la génération est locale : rien n'est envoyé. Il permet de choisir la longueur, les types de caractères, d'éviter les caractères ambigus (O et 0, l et 1) et de garantir au moins un caractère de chaque catégorie.
- Un mot de passe unique par compte et par environnement : production, test et développement n'ont jamais le même.
- Désactivez les caractères accentués pour les comptes techniques : ils posent des problèmes selon les pilotes et les codages.
- Conservez-le dans un coffre (gestionnaire de mots de passe, Azure Key Vault), jamais dans un fichier de configuration versionné.
Les pièges des chaînes de connexion
Un mot de passe complexe qui contient certains symboles casse parfois la chaîne de connexion de l'application, qui est découpée sur le point-virgule et le signe égal.
- Les caractères
;='"et les accolades{ }sont à surveiller. Selon le pilote, la valeur doit être entourée de guillemets ou d'accolades. - En ligne de commande (
sqlcmd -P), les symboles spéciaux sont interprétés par l'interpréteur de commandes : entourez le mot de passe de guillemets adaptés. - En cas de doute, générez un mot de passe long, avec lettres et chiffres et peu de symboles. Un mot de passe de 24 caractères sans ponctuation reste très robuste.
Créer et changer un compte SQL
-- Création d'un login SQL avec application de la politique Windows
CREATE LOGIN [app_commandes]
WITH PASSWORD = N'<mot de passe généré>',
CHECK_POLICY = ON,
CHECK_EXPIRATION = OFF, -- OFF pour un compte applicatif : l'expiration casserait l'application
DEFAULT_DATABASE = [MaBase];
-- Changement du mot de passe
ALTER LOGIN [app_commandes] WITH PASSWORD = N'<nouveau mot de passe>';Changer un mot de passe applicatif se prépare : mettez à jour la configuration de l'application au même moment, sinon les connexions échouent. Prévoyez un créneau et un retour arrière.
Auditer les comptes existants
-- Comptes SQL : politique, expiration, état, mot de passe faible
SELECT name,
is_disabled,
is_policy_checked,
is_expiration_checked,
LOGINPROPERTY(name, 'PasswordLastSetTime') AS mot_de_passe_modifie_le,
CASE WHEN PWDCOMPARE(N'', password_hash) = 1 THEN 'VIDE'
WHEN PWDCOMPARE(name, password_hash) = 1 THEN 'IDENTIQUE AU LOGIN'
ELSE 'ok' END AS controle_mot_de_passe
FROM sys.sql_logins
ORDER BY controle_mot_de_passe DESC, name;- Le compte sa doit être désactivé ou renommé, et protégé par un mot de passe fort.
- Un mot de passe vide ou identique au nom du compte est à changer immédiatement.
- Les comptes dont le mot de passe n'a pas été modifié depuis des années méritent une rotation planifiée.
Faire mieux qu'un mot de passe
Quand c'est possible, évitez les mots de passe SQL : authentification Windows pour les applications du domaine, comptes de service gérés (gMSA), ou authentification Microsoft Entra ID dans Azure. Il n'y a alors plus de secret à stocker ni à renouveler à la main.
Outil gratuit, sans publicité : motdepasse.dev
Générez un mot de passe aléatoire et complexe : longueur, jeux de caractères et exclusion des caractères ambigus au choix, génération locale dans le navigateur.
À retenir
- Un mot de passe aléatoire, long et unique par compte et par environnement.
- Vérifiez la compatibilité du mot de passe avec la chaîne de connexion avant de le déployer.
- Auditez régulièrement sys.sql_logins : sa, mots de passe vides ou identiques au login.
- Préférez l'authentification Windows ou Entra ID quand l'application le permet.
Expertises liées.
Un incident, un audit, une question ?
Un premier échange suffit à cadrer l'urgence et le périmètre.