ALTER LOGIN (Transact-SQL)

Modifie les propriétés d'un compte de connexion SQL Server.

Conventions de la syntaxe Transact-SQL

Remarque

L’ID Microsoft Entra était précédemment appelé Azure Active Directory (Azure AD).

Sélectionner un produit

Sur la ligne suivante, sélectionnez le nom du produit qui vous intéresse afin d’afficher uniquement les informations qui le concernent.

* SQL Server *  

 

SQL Server

Syntaxe

-- Syntax for SQL Server

ALTER LOGIN login_name
    {
    <status_option>
    | WITH <set_option> [ ,... ]
    | <cryptographic_credential_option>
    }
[;]

<status_option> ::=
        ENABLE | DISABLE

<set_option> ::=
    PASSWORD = 'password' | hashed_password HASHED
    [
      OLD_PASSWORD = 'oldpassword'
      | <password_option> [<password_option> ]
    ]
    | DEFAULT_DATABASE = database
    | DEFAULT_LANGUAGE = language
    | NAME = login_name
    | CHECK_POLICY = { ON | OFF }
    | CHECK_EXPIRATION = { ON | OFF }
    | CREDENTIAL = credential_name
    | NO CREDENTIAL

<password_option> ::=
    MUST_CHANGE | UNLOCK

<cryptographic_credentials_option> ::=
    ADD CREDENTIAL credential_name
  | DROP CREDENTIAL credential_name

Arguments

login_name spécifie le nom de la connexion SQL Server en cours de modification. Les connexions de domaine doivent être placées entre crochets au format [domaine\utilisateur].

ENABLE | DISABLE active ou désactive cette connexion. La désactivation d'une connexion n'a aucune incidence sur le comportement des connexions qui sont déjà en cours. (Utilisez l’instruction KILL pour mettre fin à des connexions existantes.) Les connexions désactivées conservent leurs autorisations et peuvent toujours être usurpées.

PASSWORD ='password' s’applique uniquement aux connexions SQL Server. Spécifie le mot de passe de la connexion en cours de modification. Les mots de passe respectent la casse.

PASSWORD =hashed_password S’applique uniquement au mot clé HASHED. Spécifie la valeur hachée du mot de passe de la connexion créée.

Important

Lorsqu'un compte de connexion (ou un utilisateur de base de données autonome) se connecte et est authentifié, la connexion met en cache les informations d'identité sur la connexion. Dans le cas d'une connexion d'authentification Windows, ces informations incluent des données sur l'appartenance aux groupes Windows. L'identité de la connexion reste authentifiée tant que la connexion est conservée. Pour imposer des modifications d’identité, une réinitialisation du mot de passe, par exemple, ou la modification de l’appartenance au groupe Windows, le compte de connexion doit fermer une session de l’autorité d’authentification (Windows ou SQL Server) et ouvrir une nouvelle session. Un membre du rôle serveur fixe sysadmin ou tout compte de connexion doté de l’autorisation ALTER ANY CONNECTION peut utiliser la commande KILL pour mettre fin à une connexion et obliger le compte de connexion à se reconnecter. SQL Server Management Studio peut réutiliser les informations de connexion lors de l’ouverture de plusieurs connexions dans les fenêtres de l’Explorateur d’objets et de l’éditeur de requête. Fermez toutes les connexions pour imposer une reconnexion.

HASHED s’applique uniquement aux connexions SQL Server. Spécifie que le mot de passe entré après l'argument PASSWORD est déjà haché. Si cette option n'est pas sélectionnée, le mot de passe est haché avant d'être stocké dans la base de données. Cette option doit être utilisée uniquement pour la synchronisation de connexion entre deux serveurs. N'utilisez pas l'option HASHED pour modifier des mots de passe de manière régulière.

OLD_PASSWORD ='oldpassword' s’applique uniquement aux connexions SQL Server. Mot de passe actuel de la connexion à laquelle un nouveau mot de passe doit être attribué. Les mots de passe respectent la casse.

MUST_CHANGE s’applique uniquement aux connexions SQL Server. Si vous incluez cette option, SQL Server demande un mot de passe actualisé lors de la première utilisation de la connexion modifiée.

DEFAULT_DATABASE =database spécifie une base de données par défaut à affecter à la connexion.

DEFAULT_LANGUAGE =language spécifie une langue par défaut à affecter à la connexion. La langue par défaut pour toutes les connexions SQL Database est l’anglais. Ceci ne peut pas être modifié. La langue par défaut de la connexion sa sur SQL Server sur Linux est l’anglais, mais vous pouvez la modifier.

NAME = login_name correspond au nouveau nom de la connexion à renommer. S'il s'agit d'une connexion Windows, le SID du principal Windows correspondant au nouveau nom doit correspondre au SID de la connexion dans SQL Server. Le nouveau nom d’une connexion SQL Server ne peut pas contenir une barre oblique inverse (\).

CHECK_EXPIRATION = { ON | OFF } s’applique uniquement aux connexions SQL Server. Spécifie si les règles d'expiration des mots de passe doivent être imposées sur cette connexion. La valeur par défaut est OFF.

CHECK_POLICY = { ON | OFF } s’applique uniquement aux connexions SQL Server. Spécifie que les stratégies de mot de passe Windows de l’ordinateur sur lequel SQL Server s’exécute doivent s’appliquer à cette connexion. La valeur par défaut est ON.

CREDENTIAL = credential_name correspond au nom des informations d’identification à mapper sur une connexion SQL Server. Les informations d'identification doivent déjà exister sur le serveur. Pour plus d’informations, consultez Informations d’identification. Les informations d’identification ne peuvent pas être mappées à la connexion sa.

NO CREDENTIAL supprime tout mappage existant de la connexion sur des informations d’identification du serveur. Pour plus d’informations, consultez Informations d’identification.

UNLOCK s’applique uniquement aux connexions SQL Server. Spécifie qu'une connexion verrouillée doit être déverrouillée.

ADD CREDENTIAL ajoute des informations d’identification du fournisseur EKM (Extensible Key Management) à la connexion. Pour plus d’informations, consultez Gestion de clés extensible (EKM).

DROP CREDENTIAL supprime des informations d’identification du fournisseur EKM (Extensible Key Management) de la connexion. Pour plus d’informations, consultez [Extensible Key Management (EKM)] (../.. /relational-databases/security/encryption/extensible-key-management-ekm.md).

Notes

Lorsque CHECK_POLICY a la valeur ON, l'argument HASHED ne peut pas être utilisé.

Lorsque CHECK_POLICY prend la valeur ON, le comportement suivant a lieu :

  • L'historique du mot de passe est initialisé avec la valeur du hachage de mot de passe actuel.

    Lorsque CHECK_POLICY prend la valeur OFF, le comportement suivant a lieu :

  • CHECK_EXPIRATION ON prend également la valeur OFF.

  • L'historique du mot de passe est supprimé.

  • La valeur de lockout_time est réinitialisée.

Si MUST_CHANGE est spécifié, CHECK_EXPIRATION et CHECK_POLICY doivent prendre la valeur ON. Sans quoi, l'instruction échoue.

Si CHECK_POLICY prend la valeur OFF, CHECK_EXPIRATION ne peut pas prendre la valeur ON. Si cette combinaison d'options est utilisée dans une instruction ALTER LOGIN, l'instruction échoue.

Vous ne pouvez pas utiliser ALTER LOGIN avec l’argument DISABLE pour refuser l’accès à un groupe Windows. Par exemple, ALTERLOGIN [domaine\groupe] DISABLE retourne le message d’erreur suivant :

"Msg 15151, Level 16, State 1, Line 1 "Cannot alter the login '*Domain\Group*', because it does not exist or you do not have permission."

C'est la procédure normale.

Dans SQL Database, les données de connexion exigées pour authentifier une connexion et les règles de pare-feu de niveau serveur sont temporairement mises en cache dans chaque base de données. Ce cache est régulièrement actualisé. Pour forcer une actualisation du cache d’authentification et garantir qu’une base de données a la version la plus récente de la table de connexions, exécutez DBCC FLUSHAUTHCACHE.

Autorisations

Nécessite l'autorisation ALTER ANY LOGIN.

Si l'option CREDENTIAL est utilisée, exige également l'autorisation ALTER ANY CREDENTIAL.

Si la connexion en cours de modification est membre du rôle serveur fixe sysadmin ou détient l’autorisation CONTROL SERVER, elle exige également l’autorisation CONTROL SERVER lors des modifications suivantes :

  • réinitialisation du mot de passe sans fournir l'ancien mot de passe ;
  • activation de MUST_CHANGE, CHECK_POLICY ou CHECK_EXPIRATION ;
  • modification du nom de la connexion ;
  • activation ou désactivation de la connexion ;
  • mappage de la connexion sur une autre information d'identification.

Un principal peut modifier le mot de passe, la langue et la base de données par défaut de sa propre connexion.

Exemples

R. Activation d'une connexion désactivée

L'exemple suivant active la connexion Mary5.

ALTER LOGIN Mary5 ENABLE;

B. Modification du mot de passe d'une connexion

L'exemple suivant remplace le mot de passe de la connexion Mary5 par un mot de passe fort.

ALTER LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>';

C. Modification du mot de passe d’une session à laquelle vous êtes connecté

Si vous essayez de modifier le mot de passe de la session à laquelle vous êtes actuellement connecté et que vous n’avez pas l’autorisation ALTER ANY LOGIN, vous devez spécifier l’option OLD_PASSWORD.

ALTER LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>' OLD_PASSWORD = '<oldWeakPasswordHere>';

D. Modification du nom d'une connexion

L'exemple suivant remplace le nom de connexion Mary5 par John2.

ALTER LOGIN Mary5 WITH NAME = John2;

E. Mappage d'une connexion sur des informations d'identification

L'exemple suivant mappe la connexion John2 aux informations d'identification Custodian04.

ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;

F. Mappage d'une connexion à des informations d'identification de gestion de clés extensible

L'exemple suivant mappe la connexion Mary5 aux informations d'identification EKM EKMProvider1.

ALTER LOGIN Mary5
ADD CREDENTIAL EKMProvider1;
GO

F. Déverrouillage d'une connexion

Pour déverrouiller une connexion SQL Server, exécutez l'instruction suivante, en remplaçant **** par le mot de passe de compte souhaité.

ALTER LOGIN [Mary5] WITH PASSWORD = '****' UNLOCK ;
GO

Pour déverrouiller une connexion sans modifier le mot de passe, désactivez la stratégie de contrôle, puis réactivez-la.

ALTER LOGIN [Mary5] WITH CHECK_POLICY = OFF;
ALTER LOGIN [Mary5] WITH CHECK_POLICY = ON;
GO

G. Modification du mot de passe d'une connexion à l'aide de HASHED

L'exemple suivant modifie le mot de passe de la connexion TestUser en une valeur déjà hachée.

ALTER LOGIN TestUser WITH
PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED ;
GO

Voir aussi

* SQL Database *

 

SQL Database

SQL Server

Syntaxe

-- Syntax for Azure SQL Database

ALTER LOGIN login_name
  {
      <status_option>
    | WITH <set_option> [ ,.. .n ]
  }
[;]

<status_option> ::=
    ENABLE | DISABLE

<set_option> ::=
    PASSWORD ='password'
    [
      OLD_PASSWORD ='oldpassword'
    ]
    | NAME = login_name

Arguments

login_name spécifie le nom de la connexion SQL Server en cours de modification. Les connexions de domaine doivent être placées entre crochets au format [domaine\utilisateur].

ENABLE | DISABLE active ou désactive cette connexion. La désactivation d'une connexion n'a aucune incidence sur le comportement des connexions qui sont déjà en cours. (Utilisez l’instruction KILL pour mettre fin à des connexions existantes.) Les connexions désactivées conservent leurs autorisations et peuvent toujours être usurpées.

PASSWORD ='password' s’applique uniquement aux connexions SQL Server. Spécifie le mot de passe de la connexion en cours de modification. Les mots de passe respectent la casse.

Des connexions actives en permanence à SQL Database nécessitent une réautorisation (effectuée par le moteur de base de données) au moins toutes les 10 heures. Le moteur de base de données tente une réautorisation en utilisant le mot de passe envoyé à l’origine et aucune entrée utilisateur n’est nécessaire. Pour des raisons de performances, quand un mot de passe est réinitialisé dans SQL Database, la connexion n’est pas authentifiée de nouveau, même si elle est réinitialisée suite à un regroupement de connexions. Cela est différent du comportement local de SQL Server. Si le mot de passe a été modifié depuis que la connexion a été initialement autorisée, la connexion doit être interrompue et une nouvelle connexion établie à l’aide du nouveau mot de passe. Un utilisateur avec l’autorisation KILL DATABASE CONNECTION peut mettre fin explicitement à une connexion à SQL Database à l’aide de la commande KILL. Pour plus d’informations, consultez KILL.

Important

Lorsqu'un compte de connexion (ou un utilisateur de base de données autonome) se connecte et est authentifié, la connexion met en cache les informations d'identité sur la connexion. Dans le cas d'une connexion d'authentification Windows, ces informations incluent des données sur l'appartenance aux groupes Windows. L'identité de la connexion reste authentifiée tant que la connexion est conservée. Pour imposer des modifications d’identité, une réinitialisation du mot de passe, par exemple, ou la modification de l’appartenance au groupe Windows, le compte de connexion doit fermer une session de l’autorité d’authentification (Windows ou SQL Server) et ouvrir une nouvelle session. Un membre du rôle serveur fixe sysadmin ou tout compte de connexion doté de l’autorisation ALTER ANY CONNECTION peut utiliser la commande KILL pour mettre fin à une connexion et obliger le compte de connexion à se reconnecter. SQL Server Management Studio peut réutiliser les informations de connexion lors de l’ouverture de plusieurs connexions dans les fenêtres de l’Explorateur d’objets et de l’éditeur de requête. Fermez toutes les connexions pour imposer une reconnexion.

OLD_PASSWORD ='oldpassword' s’applique uniquement aux connexions SQL Server. Mot de passe actuel de la connexion à laquelle un nouveau mot de passe doit être attribué. Les mots de passe respectent la casse.

NAME = login_name correspond au nouveau nom de la connexion à renommer. S'il s'agit d'une connexion Windows, le SID du principal Windows correspondant au nouveau nom doit correspondre au SID de la connexion dans SQL Server. Le nouveau nom d’une connexion SQL Server ne peut pas contenir une barre oblique inverse (\).

Notes

Dans SQL Database, les données de connexion exigées pour authentifier une connexion et les règles de pare-feu de niveau serveur sont temporairement mises en cache dans chaque base de données. Ce cache est régulièrement actualisé. Pour forcer une actualisation du cache d’authentification et garantir qu’une base de données a la version la plus récente de la table de connexions, exécutez DBCC FLUSHAUTHCACHE.

Autorisations

Nécessite l'autorisation ALTER ANY LOGIN.

Si la connexion en cours de modification est membre du rôle serveur fixe sysadmin ou détient l’autorisation CONTROL SERVER, elle exige également l’autorisation CONTROL SERVER lors des modifications suivantes :

  • réinitialisation du mot de passe sans fournir l'ancien mot de passe ;
  • modification du nom de la connexion ;
  • activation ou désactivation de la connexion ;
  • mappage de la connexion sur une autre information d'identification.

Un principal peut modifier le mot de passe pour sa propre connexion.

Exemples

Ces exemples incluent également des exemples d’utilisation d’autres produits SQL. Vérifiez les arguments pris en charge ci-dessus.

R. Activation d'une connexion désactivée

L'exemple suivant active la connexion Mary5.

ALTER LOGIN Mary5 ENABLE;

B. Modification du mot de passe d'une connexion

L'exemple suivant remplace le mot de passe de la connexion Mary5 par un mot de passe fort.

ALTER LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>';

C. Modification du nom d'une connexion

L'exemple suivant remplace le nom de connexion Mary5 par John2.

ALTER LOGIN Mary5 WITH NAME = John2;

D. Mappage d'une connexion sur des informations d'identification

L'exemple suivant mappe la connexion John2 aux informations d'identification Custodian04.

ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;

E. Mappage d'une connexion à des informations d'identification de gestion de clés extensible

L'exemple suivant mappe la connexion Mary5 aux informations d'identification EKM EKMProvider1.

S’applique à : SQL Server 2008 (10.0.x) et versions ultérieures.

ALTER LOGIN Mary5
ADD CREDENTIAL EKMProvider1;
GO

F. Modification du mot de passe d'une connexion à l'aide de HASHED

L'exemple suivant modifie le mot de passe de la connexion TestUser en une valeur déjà hachée.

S’applique à : SQL Server 2008 (10.0.x) et versions ultérieures.

ALTER LOGIN TestUser WITH
PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED ;
GO

Voir aussi

* SQL Managed Instance *

 

Azure SQL Managed Instance

Syntaxe

-- Syntax for SQL Server and Azure SQL Managed Instance

ALTER LOGIN login_name
    {
    <status_option>
    | WITH <set_option> [ ,... ]
    | <cryptographic_credential_option>
    }
[;]

<status_option> ::=
        ENABLE | DISABLE

<set_option> ::=
    PASSWORD = 'password' | hashed_password HASHED
    [
      OLD_PASSWORD = 'oldpassword'
      | <password_option> [<password_option> ]
    ]
    | DEFAULT_DATABASE = database
    | DEFAULT_LANGUAGE = language
    | NAME = login_name
    | CHECK_POLICY = { ON | OFF }
    | CHECK_EXPIRATION = { ON | OFF }
    | CREDENTIAL = credential_name
    | NO CREDENTIAL

<password_option> ::=
    MUST_CHANGE | UNLOCK

<cryptographic_credentials_option> ::=
    ADD CREDENTIAL credential_name
  | DROP CREDENTIAL credential_name
-- Syntax for Azure SQL Managed Instance using Microsoft Entra logins


ALTER LOGIN login_name
  {
      <status_option>
    | WITH <set_option> [ ,.. .n ]
  }
[;]

<status_option> ::=
    ENABLE | DISABLE

<set_option> ::=
     DEFAULT_DATABASE = database
   | DEFAULT_LANGUAGE = language

Arguments

Arguments applicables aux connexions SQL et Microsoft Entra

login_name spécifie le nom de la connexion SQL Server en cours de modification. Les connexions Microsoft Entra doivent être spécifiées en tant que user@domain. Par exemple, john.smith@contoso.comou en tant que nom de groupe ou d’application Microsoft Entra. Pour les connexions Microsoft Entra, le login_name doit correspondre à une connexion Microsoft Entra existante créée dans la base de données master.

ENABLE | DISABLE active ou désactive cette connexion. La désactivation d'une connexion n'a aucune incidence sur le comportement des connexions qui sont déjà en cours. (Utilisez l’instruction KILL pour mettre fin à une connexion existante.) Les connexions désactivées conservent leurs autorisations et peuvent toujours être usurpées.

DEFAULT_DATABASE =database spécifie une base de données par défaut à affecter à la connexion.

DEFAULT_LANGUAGE =language spécifie une langue par défaut à affecter à la connexion. La langue par défaut pour toutes les connexions SQL Database est l’anglais. Ceci ne peut pas être modifié. La langue par défaut de la connexion sa sur SQL Server sur Linux est l’anglais, mais vous pouvez la modifier.

Arguments applicables uniquement aux connexions SQL

PASSWORD ='password' s’applique uniquement aux connexions SQL Server. Spécifie le mot de passe de la connexion en cours de modification. Les mots de passe respectent la casse. Les mots de passe ne s’appliquent pas également lorsqu’ils sont utilisés avec des connexions externes, comme les connexions Microsoft Entra.

Des connexions actives en permanence à SQL Database nécessitent une réautorisation (effectuée par le moteur de base de données) au moins toutes les 10 heures. Le moteur de base de données tente une réautorisation en utilisant le mot de passe envoyé à l’origine et aucune entrée utilisateur n’est nécessaire. Pour des raisons de performances, quand un mot de passe est réinitialisé dans SQL Database, la connexion n’est pas authentifiée de nouveau, même si elle est réinitialisée suite à un regroupement de connexions. Cela est différent du comportement local de SQL Server. Si le mot de passe a été modifié depuis que la connexion a été initialement autorisée, la connexion doit être interrompue et une nouvelle connexion établie à l’aide du nouveau mot de passe. Un utilisateur avec l’autorisation KILL DATABASE CONNECTION peut mettre fin explicitement à une connexion à SQL Database à l’aide de la commande KILL. Pour plus d’informations, consultez KILL.

PASSWORD =hashed_password S’applique uniquement au mot clé HASHED. Spécifie la valeur hachée du mot de passe de la connexion créée.

HASHED s’applique uniquement aux connexions SQL Server. Spécifie que le mot de passe entré après l'argument PASSWORD est déjà haché. Si cette option n'est pas sélectionnée, le mot de passe est haché avant d'être stocké dans la base de données. Cette option doit être utilisée uniquement pour la synchronisation de connexion entre deux serveurs. N'utilisez pas l'option HASHED pour modifier des mots de passe de manière régulière.

OLD_PASSWORD ='oldpassword' s’applique uniquement aux connexions SQL Server. Mot de passe actuel de la connexion à laquelle un nouveau mot de passe doit être attribué. Les mots de passe respectent la casse.

MUST_CHANGE
S'applique uniquement aux connexions SQL Server. Si vous incluez cette option, SQL Server demande un mot de passe actualisé lors de la première utilisation de la connexion modifiée.

NAME = login_name correspond au nouveau nom de la connexion à renommer. Si la connexion est une connexion Windows, le SID du principal Windows correspondant au nouveau nom doit correspondre au SID de la connexion dans SQL Server. Le nouveau nom d’une connexion SQL Server ne peut pas contenir une barre oblique inverse (\).

CHECK_EXPIRATION = { ON | OFF } s’applique uniquement aux connexions SQL Server. Spécifie si les règles d'expiration des mots de passe doivent être imposées sur cette connexion. La valeur par défaut est OFF.

CHECK_POLICY = { ON | OFF } s’applique uniquement aux connexions SQL Server. Spécifie que les stratégies de mot de passe Windows de l’ordinateur sur lequel SQL Server s’exécute doivent s’appliquer à cette connexion. La valeur par défaut est ON.

CREDENTIAL = credential_name correspond au nom des informations d’identification à mapper sur une connexion SQL Server. Les informations d'identification doivent déjà exister sur le serveur. Pour plus d’informations, consultez Informations d’identification. Les informations d’identification ne peuvent pas être mappées à la connexion sa.

NO CREDENTIAL supprime tout mappage existant de la connexion sur des informations d’identification du serveur. Pour plus d’informations, consultez Informations d’identification.

UNLOCK s’applique uniquement aux connexions SQL Server. Spécifie qu'une connexion verrouillée doit être déverrouillée.

ADD CREDENTIAL ajoute des informations d’identification du fournisseur EKM (Extensible Key Management) à la connexion. Pour plus d’informations, consultez Gestion de clés extensible (EKM).

DROP CREDENTIAL supprime des informations d’identification du fournisseur EKM (Extensible Key Management) de la connexion. Pour plus d’informations, consultez Gestion de clés extensible (EKM).

Notes

Lorsque CHECK_POLICY a la valeur ON, l'argument HASHED ne peut pas être utilisé.

Lorsque CHECK_POLICY prend la valeur ON, le comportement suivant a lieu :

  • L'historique du mot de passe est initialisé avec la valeur du hachage de mot de passe actuel.

    Lorsque CHECK_POLICY prend la valeur OFF, le comportement suivant a lieu :

  • CHECK_EXPIRATION ON prend également la valeur OFF.

  • L'historique du mot de passe est supprimé.

  • La valeur de lockout_time est réinitialisée.

Si MUST_CHANGE est spécifié, CHECK_EXPIRATION et CHECK_POLICY doivent prendre la valeur ON. Sans quoi, l'instruction échoue.

Si CHECK_POLICY prend la valeur OFF, CHECK_EXPIRATION ne peut pas prendre la valeur ON. Si cette combinaison d'options est utilisée dans une instruction ALTER LOGIN, l'instruction échoue.

Vous ne pouvez pas utiliser ALTER_LOGIN avec l'argument DISABLE pour refuser l'accès à un groupe Windows. C'est la procédure normale. Par exemple, ALTER_LOGIN [domain\group] DISABLE retourne le message d’erreur suivant :

"Msg 15151, Level 16, State 1, Line 1 "Cannot alter the login '*Domain\Group*', because it does not exist or you do not have permission."

Dans SQL Database, les données de connexion exigées pour authentifier une connexion et les règles de pare-feu de niveau serveur sont temporairement mises en cache dans chaque base de données. Ce cache est régulièrement actualisé. Pour forcer une actualisation du cache d’authentification et garantir qu’une base de données a la version la plus récente de la table de connexions, exécutez DBCC FLUSHAUTHCACHE.

Autorisations

Nécessite l'autorisation ALTER ANY LOGIN.

Si l'option CREDENTIAL est utilisée, exige également l'autorisation ALTER ANY CREDENTIAL.

Si la connexion en cours de modification est membre du rôle serveur fixe sysadmin ou détient l’autorisation CONTROL SERVER, elle exige également l’autorisation CONTROL SERVER lors des modifications suivantes :

  • réinitialisation du mot de passe sans fournir l'ancien mot de passe ;
  • activation de MUST_CHANGE, CHECK_POLICY ou CHECK_EXPIRATION ;
  • modification du nom de la connexion ;
  • activation ou désactivation de la connexion ;
  • mappage de la connexion sur une autre information d'identification.

Un principal peut modifier le mot de passe, la langue et la base de données par défaut de sa propre connexion.

Seul un principal SQL disposant sysadmin de privilèges peut exécuter une commande ALTER LOGIN sur une connexion Microsoft Entra.

Exemples

Ces exemples incluent également des exemples d’utilisation d’autres produits SQL. Vérifiez les arguments pris en charge ci-dessus.

R. Activation d'une connexion désactivée

L'exemple suivant active la connexion Mary5.

ALTER LOGIN Mary5 ENABLE;

B. Modification du mot de passe d'une connexion

L'exemple suivant remplace le mot de passe de la connexion Mary5 par un mot de passe fort.

ALTER LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>';

C. Modification du nom d'une connexion

L'exemple suivant remplace le nom de connexion Mary5 par John2.

ALTER LOGIN Mary5 WITH NAME = John2;

D. Mappage d'une connexion sur des informations d'identification

L'exemple suivant mappe la connexion John2 aux informations d'identification Custodian04.

ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;

E. Mappage d'une connexion à des informations d'identification de gestion de clés extensible

L'exemple suivant mappe la connexion Mary5 aux informations d'identification EKM EKMProvider1.

S’applique à : SQL Server 2008 (10.0.x) et versions ultérieures, et Azure SQL Managed Instance.

ALTER LOGIN Mary5
ADD CREDENTIAL EKMProvider1;
GO

F. Déverrouillage d'une connexion

Pour déverrouiller une connexion SQL Server, exécutez l'instruction suivante, en remplaçant **** par le mot de passe de compte souhaité.

ALTER LOGIN [Mary5] WITH PASSWORD = '****' UNLOCK ;

GO

Pour déverrouiller une connexion sans modifier le mot de passe, désactivez la stratégie de contrôle, puis réactivez-la.

ALTER LOGIN [Mary5] WITH CHECK_POLICY = OFF;
ALTER LOGIN [Mary5] WITH CHECK_POLICY = ON;
GO

G. Modification du mot de passe d'une connexion à l'aide de HASHED

L'exemple suivant modifie le mot de passe de la connexion TestUser en une valeur déjà hachée.

S’applique à : SQL Server 2008 (10.0.x) et versions ultérieures, et Azure SQL Managed Instance.

ALTER LOGIN TestUser WITH
PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED ;
GO

H. Désactivation de la connexion d’un utilisateur Microsoft Entra

L’exemple suivant désactive la connexion d’un utilisateur Microsoft Entra. joe@contoso.com

ALTER LOGIN [joe@contoso.com] DISABLE

Voir aussi

* Azure Synapse
Analytics *

 

Azure Synapse Analytics

Syntaxe

-- Syntax for Azure Synapse

ALTER LOGIN login_name
  {
      <status_option>
    | WITH <set_option> [ ,.. .n ]
  }
[;]

<status_option> ::=
    ENABLE | DISABLE

<set_option> ::=
    PASSWORD ='password'
    [
      OLD_PASSWORD ='oldpassword'
    ]
    | NAME = login_name

Arguments

login_name spécifie le nom de la connexion SQL Server en cours de modification. Les connexions de domaine doivent être placées entre crochets au format [domaine\utilisateur].

ENABLE | DISABLE active ou désactive cette connexion. La désactivation d'une connexion n'a aucune incidence sur le comportement des connexions qui sont déjà en cours. (Utilisez l’instruction KILL pour mettre fin à des connexions existantes.) Les connexions désactivées conservent leurs autorisations et peuvent toujours être usurpées.

PASSWORD ='password' s’applique uniquement aux connexions SQL Server. Spécifie le mot de passe de la connexion en cours de modification. Les mots de passe respectent la casse.

Des connexions actives en permanence à SQL Database nécessitent une réautorisation (effectuée par le moteur de base de données) au moins toutes les 10 heures. Le moteur de base de données tente une réautorisation en utilisant le mot de passe envoyé à l’origine et aucune entrée utilisateur n’est nécessaire. Pour des raisons de performances, quand un mot de passe est réinitialisé dans SQL Database, la connexion n’est pas authentifiée de nouveau, même si elle est réinitialisée suite à un regroupement de connexions. Cela est différent du comportement local de SQL Server. Si le mot de passe a été modifié depuis que la connexion a été initialement autorisée, la connexion doit être interrompue et une nouvelle connexion établie à l’aide du nouveau mot de passe. Un utilisateur avec l’autorisation KILL DATABASE CONNECTION peut mettre fin explicitement à une connexion à SQL Database à l’aide de la commande KILL. Pour plus d’informations, consultez KILL.

Important

Lorsqu'un compte de connexion (ou un utilisateur de base de données autonome) se connecte et est authentifié, la connexion met en cache les informations d'identité sur la connexion. Dans le cas d'une connexion d'authentification Windows, ces informations incluent des données sur l'appartenance aux groupes Windows. L'identité de la connexion reste authentifiée tant que la connexion est conservée. Pour imposer des modifications d’identité, une réinitialisation du mot de passe, par exemple, ou la modification de l’appartenance au groupe Windows, le compte de connexion doit fermer une session de l’autorité d’authentification (Windows ou SQL Server) et ouvrir une nouvelle session. Un membre du rôle serveur fixe sysadmin ou tout compte de connexion doté de l’autorisation ALTER ANY CONNECTION peut utiliser la commande KILL pour mettre fin à une connexion et obliger le compte de connexion à se reconnecter. SQL Server Management Studio peut réutiliser les informations de connexion lors de l’ouverture de plusieurs connexions dans les fenêtres de l’Explorateur d’objets et de l’éditeur de requête. Fermez toutes les connexions pour imposer une reconnexion.

OLD_PASSWORD ='oldpassword' s’applique uniquement aux connexions SQL Server. Mot de passe actuel de la connexion à laquelle un nouveau mot de passe doit être attribué. Les mots de passe respectent la casse.

NAME = login_name correspond au nouveau nom de la connexion à renommer. S'il s'agit d'une connexion Windows, le SID du principal Windows correspondant au nouveau nom doit correspondre au SID de la connexion dans SQL Server. Le nouveau nom d’une connexion SQL Server ne peut pas contenir une barre oblique inverse (\).

Notes

Dans SQL Database, les données de connexion exigées pour authentifier une connexion et les règles de pare-feu de niveau serveur sont temporairement mises en cache dans chaque base de données. Ce cache est régulièrement actualisé. Pour forcer une actualisation du cache d’authentification et garantir qu’une base de données a la version la plus récente de la table de connexions, exécutez DBCC FLUSHAUTHCACHE.

Autorisations

Nécessite l'autorisation ALTER ANY LOGIN.

Si la connexion en cours de modification est membre du rôle serveur fixe sysadmin ou détient l’autorisation CONTROL SERVER, elle exige également l’autorisation CONTROL SERVER lors des modifications suivantes :

  • réinitialisation du mot de passe sans fournir l'ancien mot de passe ;
  • modification du nom de la connexion ;
  • activation ou désactivation de la connexion ;
  • mappage de la connexion sur une autre information d'identification.

Un principal peut modifier le mot de passe pour sa propre connexion.

Exemples

Ces exemples incluent également des exemples d’utilisation d’autres produits SQL. Vérifiez les arguments pris en charge ci-dessus.

R. Activation d'une connexion désactivée

L'exemple suivant active la connexion Mary5.

ALTER LOGIN Mary5 ENABLE;

B. Modification du mot de passe d'une connexion

L'exemple suivant remplace le mot de passe de la connexion Mary5 par un mot de passe fort.

ALTER LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>';

C. Modification du nom d'une connexion

L'exemple suivant remplace le nom de connexion Mary5 par John2.

ALTER LOGIN Mary5 WITH NAME = John2;

D. Mappage d'une connexion sur des informations d'identification

L'exemple suivant mappe la connexion John2 aux informations d'identification Custodian04.

ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;

E. Mappage d'une connexion à des informations d'identification de gestion de clés extensible

L'exemple suivant mappe la connexion Mary5 aux informations d'identification EKM EKMProvider1.

S’applique à : SQL Server 2008 (10.0.x) et versions ultérieures.

ALTER LOGIN Mary5
ADD CREDENTIAL EKMProvider1;
GO

F. Déverrouillage d'une connexion

Pour déverrouiller une connexion SQL Server, exécutez l'instruction suivante, en remplaçant **** par le mot de passe de compte souhaité.

ALTER LOGIN [Mary5] WITH PASSWORD = '****' UNLOCK ;
GO

G. Modification du mot de passe d'une connexion à l'aide de HASHED

L'exemple suivant modifie le mot de passe de la connexion TestUser en une valeur déjà hachée.

S’applique à : SQL Server 2008 (10.0.x) et versions ultérieures.

ALTER LOGIN TestUser WITH
PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED ;
GO

Voir aussi

* Analytics
Platform System (PDW) *

 

Système de la plateforme d'analyse

Syntaxe

-- Syntax for Analytics Platform System

ALTER LOGIN login_name
    {
    <status_option>
    | WITH <set_option> [ ,... ]
    }

<status_option> ::=ENABLE | DISABLE

<set_option> ::=
    PASSWORD ='password'
    [
      OLD_PASSWORD ='oldpassword'
      | <password_option> [<password_option> ]
    ]
    | NAME = login_name
    | CHECK_POLICY = { ON | OFF }
    | CHECK_EXPIRATION = { ON | OFF }

<password_option> ::=
    MUST_CHANGE | UNLOCK

Arguments

login_name spécifie le nom de la connexion SQL Server en cours de modification. Les connexions de domaine doivent être placées entre crochets au format [domaine\utilisateur].

ENABLE | DISABLE active ou désactive cette connexion. La désactivation d'une connexion n'a aucune incidence sur le comportement des connexions qui sont déjà en cours. (Utilisez l’instruction KILL pour mettre fin à une connexion existante.) Les connexions désactivées conservent leurs autorisations et peuvent toujours être usurpées.

PASSWORD ='password' s’applique uniquement aux connexions SQL Server. Spécifie le mot de passe de la connexion en cours de modification. Les mots de passe respectent la casse.

Important

Lorsqu'un compte de connexion (ou un utilisateur de base de données autonome) se connecte et est authentifié, la connexion met en cache les informations d'identité sur la connexion. Dans le cas d'une connexion d'authentification Windows, ces informations incluent des données sur l'appartenance aux groupes Windows. L'identité de la connexion reste authentifiée tant que la connexion est conservée. Pour imposer des modifications d’identité, une réinitialisation du mot de passe, par exemple, ou la modification de l’appartenance au groupe Windows, le compte de connexion doit fermer une session de l’autorité d’authentification (Windows ou SQL Server) et ouvrir une nouvelle session. Un membre du rôle serveur fixe sysadmin ou tout compte de connexion doté de l’autorisation ALTER ANY CONNECTION peut utiliser la commande KILL pour mettre fin à une connexion et obliger le compte de connexion à se reconnecter. SQL Server Management Studio peut réutiliser les informations de connexion lors de l’ouverture de plusieurs connexions dans les fenêtres de l’Explorateur d’objets et de l’éditeur de requête. Fermez toutes les connexions pour imposer une reconnexion.

OLD_PASSWORD ='oldpassword' s’applique uniquement aux connexions SQL Server. Mot de passe actuel de la connexion à laquelle un nouveau mot de passe doit être attribué. Les mots de passe respectent la casse.

MUST_CHANGE s’applique uniquement aux connexions SQL Server. Si vous incluez cette option, SQL Server demande un mot de passe actualisé lors de la première utilisation de la connexion modifiée.

NAME = login_name correspond au nouveau nom de la connexion à renommer. Si la connexion est une connexion Windows, le SID du principal Windows correspondant au nouveau nom doit correspondre au SID de la connexion dans SQL Server. Le nouveau nom d’une connexion SQL Server ne peut pas contenir une barre oblique inverse (\).

CHECK_EXPIRATION = { ON | OFF } s’applique uniquement aux connexions SQL Server. Spécifie si les règles d'expiration des mots de passe doivent être imposées sur cette connexion. La valeur par défaut est OFF.

CHECK_POLICY = { ON | OFF } s’applique uniquement aux connexions SQL Server. Spécifie que les stratégies de mot de passe Windows de l’ordinateur sur lequel SQL Server s’exécute doivent s’appliquer à cette connexion. La valeur par défaut est ON.

UNLOCK s’applique uniquement aux connexions SQL Server. Spécifie qu'une connexion verrouillée doit être déverrouillée.

Notes

Lorsque CHECK_POLICY a la valeur ON, l'argument HASHED ne peut pas être utilisé.

Lorsque CHECK_POLICY prend la valeur ON, le comportement suivant a lieu :

  • L'historique du mot de passe est initialisé avec la valeur du hachage de mot de passe actuel.

    Lorsque CHECK_POLICY prend la valeur OFF, le comportement suivant a lieu :

  • CHECK_EXPIRATION ON prend également la valeur OFF.

  • L'historique du mot de passe est supprimé.

  • La valeur de lockout_time est réinitialisée.

Si MUST_CHANGE est spécifié, CHECK_EXPIRATION et CHECK_POLICY doivent prendre la valeur ON. Sans quoi, l'instruction échoue.

Si CHECK_POLICY prend la valeur OFF, CHECK_EXPIRATION ne peut pas prendre la valeur ON. Si cette combinaison d'options est utilisée dans une instruction ALTER LOGIN, l'instruction échoue.

Vous ne pouvez pas utiliser ALTER_LOGIN avec l'argument DISABLE pour refuser l'accès à un groupe Windows. C'est la procédure normale. Par exemple, ALTER_LOGIN [domain\group] DISABLE retourne le message d’erreur suivant :

"Msg 15151, Level 16, State 1, Line 1 "Cannot alter the login '*Domain\Group*', because it does not exist or you do not have permission."

Dans SQL Database, les données de connexion exigées pour authentifier une connexion et les règles de pare-feu de niveau serveur sont temporairement mises en cache dans chaque base de données. Ce cache est régulièrement actualisé. Pour forcer une actualisation du cache d’authentification et garantir qu’une base de données a la version la plus récente de la table de connexions, exécutez DBCC FLUSHAUTHCACHE.

Autorisations

Nécessite l'autorisation ALTER ANY LOGIN.

Si l'option CREDENTIAL est utilisée, exige également l'autorisation ALTER ANY CREDENTIAL.

Si la connexion en cours de modification est membre du rôle serveur fixe sysadmin ou détient l’autorisation CONTROL SERVER, elle exige également l’autorisation CONTROL SERVER lors des modifications suivantes :

  • réinitialisation du mot de passe sans fournir l'ancien mot de passe ;
  • activation de MUST_CHANGE, CHECK_POLICY ou CHECK_EXPIRATION ;
  • modification du nom de la connexion ;
  • activation ou désactivation de la connexion ;
  • mappage de la connexion sur une autre information d'identification.

Un principal peut modifier le mot de passe, la langue et la base de données par défaut de sa propre connexion.

Exemples

Ces exemples incluent également des exemples d’utilisation d’autres produits SQL. Vérifiez les arguments pris en charge ci-dessus.

R. Activation d'une connexion désactivée

L'exemple suivant active la connexion Mary5.

ALTER LOGIN Mary5 ENABLE;

B. Modification du mot de passe d'une connexion

L'exemple suivant remplace le mot de passe de la connexion Mary5 par un mot de passe fort.

ALTER LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>';

C. Modification du nom d'une connexion

L'exemple suivant remplace le nom de connexion Mary5 par John2.

ALTER LOGIN Mary5 WITH NAME = John2;

D. Mappage d'une connexion sur des informations d'identification

L'exemple suivant mappe la connexion John2 aux informations d'identification Custodian04.

ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;

E. Mappage d'une connexion à des informations d'identification de gestion de clés extensible

L'exemple suivant mappe la connexion Mary5 aux informations d'identification EKM EKMProvider1.

S’applique à : SQL Server 2008 (10.0.x) et versions ultérieures.

ALTER LOGIN Mary5
ADD CREDENTIAL EKMProvider1;
GO

F. Déverrouillage d'une connexion

Pour déverrouiller une connexion SQL Server, exécutez l'instruction suivante, en remplaçant **** par le mot de passe de compte souhaité.

ALTER LOGIN [Mary5] WITH PASSWORD = '****' UNLOCK ;

GO

Pour déverrouiller une connexion sans modifier le mot de passe, désactivez la stratégie de contrôle, puis réactivez-la.

ALTER LOGIN [Mary5] WITH CHECK_POLICY = OFF;
ALTER LOGIN [Mary5] WITH CHECK_POLICY = ON;
GO

G. Modification du mot de passe d'une connexion à l'aide de HASHED

L'exemple suivant modifie le mot de passe de la connexion TestUser en une valeur déjà hachée.

S’applique à : SQL Server 2008 (10.0.x) et versions ultérieures.

ALTER LOGIN TestUser WITH
PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED ;
GO

Voir aussi