Partager via


ALTER LOGIN (Transact-SQL)

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

conventions de syntaxe Transact-SQL

Note

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

Sélectionner un produit

Dans la ligne suivante, sélectionnez le nom du produit qui vous intéresse, et seules les informations de ce produit sont affichées.

* SQL Server *  

SQL Managed Instance

Azure Synapse
d’analytique

plateforme Analytics
système (PDW)

 

SQL Server

Syntaxe pour 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 [<domain>\<user>].

ENABLE | DÉSACTIVER

Active ou désactive cette connexion. La désactivation d’une connexion n’affecte pas le comportement des connexions déjà connectées. (Utilisez l’instruction KILL pour arrêter une connexion existante.) Les connexions désactivées conservent leurs autorisations et peuvent toujours être emprunté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 en cours de création.

Important

Lorsqu’une connexion (ou un utilisateur de base de données autonome) se connecte et est authentifiée, la connexion met en cache les informations d’identité sur la connexion. Pour une connexion d’authentification Windows, cela inclut des informations sur l’appartenance aux groupes Windows. L’identité de la connexion reste authentifiée tant que la connexion est conservée. Pour forcer les modifications apportées à l’identité, telles qu’une réinitialisation de mot de passe ou une modification de l’appartenance au groupe Windows, la connexion doit se déconnecter de l’autorité d’authentification (Windows ou SQL Server) et se reconnecter. Un membre du rôle serveur fixe sysadmin ou toute connexion avec l’autorisation ALTER ANY CONNECTION peut utiliser la commande KILL pour mettre fin à une connexion et forcer une connexion à se reconnecter. SQL Server Management Studio peut réutiliser les informations de connexion lors de l’ouverture de plusieurs connexions à l’Explorateur d’objets et aux fenêtres éditeur de requête. Fermez toutes les connexions pour forcer la reconnexion.

HACHÉ

S’applique uniquement aux connexions SQL Server. Spécifie que le mot de passe entré après que 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 ne doit être utilisée que pour la synchronisation de connexion entre deux serveurs. N’utilisez pas l’option HASHED pour modifier régulièrement les mots de passe.

OLD_PASSWORD = 'old_password'

S’applique uniquement aux connexions SQL Server. Mot de passe actuel de la connexion à laquelle un nouveau mot de passe sera affecté. Les mots de passe respectent la casse.

MUST_CHANGE

S’applique uniquement aux connexions SQL Server. Si cette option est incluse, SQL Server demande un mot de passe mis à jour la première fois que la connexion modifiée est utilisée.

DEFAULT_DATABASE = base de données

Spécifie une base de données par défaut à affecter à la connexion.

DEFAULT_LANGUAGE = langue

Spécifie une langue par défaut à attribuer à la connexion. La langue par défaut de toutes les connexions SQL Database est l’anglais et ne peut pas être modifiée. La langue par défaut de la connexion sa sur SQL Server sur Linux est l’anglais, mais elle peut être modifiée.

NAME = login_name

Nouveau nom de la connexion en cours de renommage. S’il s’agit d’une connexion Windows, le SID du principal Windows correspondant au nouveau nom doit correspondre au SID associé à la connexion dans SQL Server. Le nouveau nom d’une connexion SQL Server ne peut pas contenir de barre oblique inverse (\).

CHECK_EXPIRATION = { ON | OFF }

S’applique uniquement aux connexions SQL Server. Spécifie si la stratégie d’expiration du mot de passe doit être appliquée à 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 être appliquées à cette connexion. La valeur par défaut est ON.

CREDENTIAL = credential_name

Nom d’une information d’identification à mapper à 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.

AUCUNE INFORMATION D’IDENTIFICATION

Supprime tout mappage existant de la connexion à des informations d’identification de serveur. Pour plus d’informations, consultez Informations d’identification.

OUVRIR

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

AJOUTER DES INFORMATIONS D’IDENTIFICATION

Ajoute des informations d’identification de fournisseur EKM (Extensible Key Management) à la connexion. Pour plus d’informations, consultez EKM (Extensible Key Management).

SUPPRIMER LES INFORMATIONS D’IDENTIFICATION

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).

Remarques

Lorsque CHECK_POLICY est défini sur ON, l’argument HASHED ne peut pas être utilisé.

Lorsque CHECK_POLICY est remplacé par ON, le comportement suivant se produit :

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

Lorsque CHECK_POLICY est remplacé par OFF, le comportement suivant se produit :

  • CHECK_EXPIRATION est également défini sur OFF.
  • L’historique des mots de passe est effacé.
  • La valeur de lockout_time est réinitialisée.

Si MUST_CHANGE est spécifié, CHECK_EXPIRATION et CHECK_POLICY doivent être définis sur ON. Sinon, l’instruction échoue.

Si CHECK_POLICY est défini sur DÉSACTIVÉ, CHECK_EXPIRATION ne peut pas être défini sur ON. Une instruction ALTER LOGIN qui a cette combinaison d’options échoue.

Vous ne pouvez pas utiliser ALTER LOGIN avec l’argument DISABLE pour refuser l’accès à un groupe Windows. 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 doesn't exist or you don't have permission.

C’est par conception.

Dans SQL Database, les données de connexion requises pour authentifier une connexion et des règles de pare-feu au niveau du 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 vérifier qu’une base de données a la dernière version de la table des connexions, exécutez DBCC FLUSHAUTHCACHE.

Autorisations

Nécessite l’autorisation ALTER ANY LOGIN.

Si l’option CREDENTIAL est utilisée, nécessite également l’autorisation ALTER ANY CREDENTIAL.

Si la connexion en cours de modification est membre de l'sysadmin rôle serveur fixe ou bénéficiaire de l’autorisation CONTROL SERVER, nécessite également l’autorisation CONTROL SERVER lors des modifications suivantes :

  • Réinitialisation du mot de passe sans fournir l’ancien mot de passe.
  • Activation MUST_CHANGE, CHECK_POLICY ou CHECK_EXPIRATION.
  • Modification du nom de connexion.
  • Activation ou désactivation de la connexion.
  • Mappage de la connexion à des informations d’identification différentes.

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

Exemples

Un. Activer une connexion désactivée

L’exemple suivant active le Mary5de connexion.

ALTER LOGIN Mary5 ENABLE;

B. Modifier le mot de passe d’une connexion

L’exemple suivant modifie le mot de passe de connexion Mary5 en mot de passe fort.

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

C. Modifier le mot de passe d’une connexion lors de la connexion en tant que connexion

Si vous tentez de modifier le mot de passe de la connexion avec 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. Modifier le nom d’une connexion

L’exemple suivant modifie le nom du Mary5 de connexion en John2.

ALTER LOGIN Mary5 WITH NAME = John2;

E. Mapper une connexion à des informations d’identification

L’exemple suivant mappe le John2 de connexion aux informations d’identification Custodian04.

ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;

F. Mapper une connexion à des informations d’identification Extensible Key Management

L’exemple suivant mappe le Mary5 de connexion aux informations d’identification EKM EKMProvider1.

ALTER LOGIN Mary5 ADD CREDENTIAL EKMProvider1;
GO

F. Déverrouiller 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 vérification, puis à nouveau.

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

G. Modifier le mot de passe d’une connexion à l’aide de HASHED

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

ALTER LOGIN TestUser WITH PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED;
GO

SQL Server

* SQL Database *

SQL Managed Instance

Azure Synapse
d’analytique

plateforme Analytics
système (PDW)

 

SQL Database

Syntaxe pour 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 | DÉSACTIVER

Active ou désactive cette connexion. La désactivation d’une connexion n’affecte pas le comportement des connexions déjà connectées. (Utilisez l’instruction KILL pour arrêter une connexion existante.) Les connexions désactivées conservent leurs autorisations et peuvent toujours être emprunté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.

Les connexions actives en continu à SQL Database nécessitent une réauthorisation (effectuée par le moteur de base de données) au moins toutes les 10 heures. Le moteur de base de données tente de réauthorisation à l’aide du mot de passe envoyé à l’origine et aucune entrée utilisateur n’est requise. Pour des raisons de performances, lorsqu’un mot de passe est réinitialisé dans SQL Database, la connexion n’est pas réauthentifiée, même si la connexion est réinitialisée en raison d’un regroupement de connexions. Cela diffère du comportement de SQL Server local. Si le mot de passe a changé depuis l’autorisation initiale de la connexion, la connexion doit être arrêtée et une nouvelle connexion établie à l’aide du nouveau mot de passe. Un utilisateur disposant de 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’une connexion (ou un utilisateur de base de données autonome) se connecte et est authentifiée, la connexion met en cache les informations d’identité sur la connexion. Pour une connexion d’authentification Windows, cela inclut des informations sur l’appartenance aux groupes Windows. L’identité de la connexion reste authentifiée tant que la connexion est conservée. Pour forcer les modifications apportées à l’identité, telles qu’une réinitialisation de mot de passe ou une modification de l’appartenance au groupe Windows, la connexion doit se déconnecter de l’autorité d’authentification (Windows ou SQL Server) et se reconnecter. Un membre du rôle serveur fixe sysadmin ou toute connexion avec l’autorisation ALTER ANY CONNECTION peut utiliser la commande KILL pour mettre fin à une connexion et forcer la connexion à se reconnecter. SQL Server Management Studio peut réutiliser les informations de connexion lors de l’ouverture de plusieurs connexions à l’Explorateur d’objets et aux fenêtres éditeur de requête. Fermez toutes les connexions pour forcer la reconnexion.

OLD_PASSWORD = 'old_password'

S’applique uniquement aux connexions SQL Server. Mot de passe actuel de la connexion à laquelle un nouveau mot de passe sera affecté. Les mots de passe respectent la casse.

NAME = login_name

Nouveau nom de la connexion en cours de renommage. S’il s’agit d’une connexion Windows, le SID du principal Windows correspondant au nouveau nom doit correspondre au SID associé à la connexion dans SQL Server. Le nouveau nom d’une connexion SQL Server ne peut pas contenir de caractère de barre oblique inverse (\).

Remarques

Dans SQL Database, les données de connexion requises pour authentifier une connexion et des règles de pare-feu au niveau du 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 vérifier qu’une base de données a la dernière version de la table des connexions, exécutez DBCC FLUSHAUTHCACHE.

Autorisations

Nécessite l’autorisation ALTER ANY LOGIN.

Si la connexion en cours de modification est membre de l'sysadmin rôle serveur fixe ou bénéficiaire de l’autorisation CONTROL SERVER, nécessite é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 connexion.
  • Activation ou désactivation de la connexion.
  • Mappage de la connexion à des informations d’identification différentes.

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

Exemples

Ces exemples incluent également des exemples d’utilisation d’autres produits SQL. Consultez les arguments précédents pris en charge.

Un. Activer une connexion désactivée

L’exemple suivant active le Mary5de connexion.

ALTER LOGIN Mary5 ENABLE;

B. Modifier le mot de passe d’une connexion

L’exemple suivant modifie le mot de passe de connexion Mary5 en mot de passe fort.

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

C. Modifier le nom d’une connexion

L’exemple suivant modifie le nom du Mary5 de connexion en John2.

ALTER LOGIN Mary5 WITH NAME = John2;

D. Mapper une connexion à des informations d’identification

L’exemple suivant mappe le John2 de connexion aux informations d’identification Custodian04.

ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;

E. Mapper une connexion à des informations d’identification Extensible Key Management

L’exemple suivant mappe le Mary5 de connexion 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. Modifier le mot de passe d’une connexion à l’aide de HASHED

L’exemple suivant modifie le mot de passe de la connexion TestUser à 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

SQL Server

* SQL Managed Instance *

Azure Synapse
d’analytique

plateforme Analytics
système (PDW)

 

Azure SQL Managed Instance

Syntaxe pour SQL Server et 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.com, ou en tant que groupe Microsoft Entra ou nom d’application. 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 | DÉSACTIVER

Active ou désactive cette connexion. La désactivation d’une connexion n’affecte pas le comportement des connexions déjà connectées. (Utilisez l’instruction KILL pour arrêter une connexion existante.) Les connexions désactivées conservent leurs autorisations et peuvent toujours être empruntées.

DEFAULT_DATABASE = base de données

Spécifie une base de données par défaut à affecter à la connexion.

DEFAULT_LANGUAGE = langue

Spécifie une langue par défaut à attribuer à la connexion. La langue par défaut de toutes les connexions SQL Database est l’anglais et ne peut pas être modifiée. La langue par défaut de la connexion sa sur SQL Server sur Linux est l’anglais, mais elle peut être modifiée.

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 non plus lorsqu’ils sont utilisés avec des connexions externes, comme les connexions Microsoft Entra.

Les connexions actives en continu à SQL Database nécessitent une réauthorisation (effectuée par le moteur de base de données) au moins toutes les 10 heures. Le moteur de base de données tente de réauthorisation à l’aide du mot de passe envoyé à l’origine et aucune entrée utilisateur n’est requise. Pour des raisons de performances, lorsqu’un mot de passe est réinitialisé dans SQL Database, la connexion n’est pas réauthentifiée, même si la connexion est réinitialisée en raison d’un regroupement de connexions. Cela diffère du comportement de SQL Server local. Si le mot de passe a changé depuis l’autorisation initiale de la connexion, la connexion doit être arrêtée et une nouvelle connexion établie à l’aide du nouveau mot de passe. Un utilisateur disposant de 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 en cours de création.

HACHÉ

S’applique uniquement aux connexions SQL Server. Spécifie que le mot de passe entré après que 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 ne doit être utilisée que pour la synchronisation de connexion entre deux serveurs. N’utilisez pas l’option HASHED pour modifier régulièrement les mots de passe.

OLD_PASSWORD = 'old_password'

S’applique uniquement aux connexions SQL Server. Mot de passe actuel de la connexion à laquelle un nouveau mot de passe sera affecté. Les mots de passe respectent la casse.

MUST_CHANGE

S’applique uniquement aux connexions SQL Server. Si cette option est incluse, SQL Server demande un mot de passe mis à jour la première fois que la connexion modifiée est utilisée.

NAME = login_name

Nouveau nom de la connexion en cours de renommage. Si la connexion est une connexion Windows, le SID du principal Windows correspondant au nouveau nom doit correspondre au SID associé à la connexion dans SQL Server. Le nouveau nom d’une connexion SQL Server ne peut pas contenir de caractère de barre oblique inverse (\).

CHECK_EXPIRATION = { ON | OFF }

S’applique uniquement aux connexions SQL Server. Spécifie si la stratégie d’expiration du mot de passe doit être appliquée à 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 être appliquées à cette connexion. La valeur par défaut est ON.

CREDENTIAL = credential_name

Nom d’une information d’identification à mapper à 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.

AUCUNE INFORMATION D’IDENTIFICATION

Supprime tout mappage existant de la connexion à des informations d’identification de serveur. Pour plus d’informations, consultez Informations d’identification.

OUVRIR

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

AJOUTER DES INFORMATIONS D’IDENTIFICATION

Ajoute des informations d’identification de fournisseur EKM (Extensible Key Management) à la connexion. Pour plus d’informations, consultez EKM (Extensible Key Management).

SUPPRIMER LES INFORMATIONS D’IDENTIFICATION

Supprime des informations d’identification du fournisseur EKM (Extensible Key Management) de la connexion. Pour plus d’informations, consultez EKM (Extensible Key Management).

Remarques

Lorsque CHECK_POLICY est défini sur ON, l’argument HASHED ne peut pas être utilisé.

Lorsque CHECK_POLICY est remplacé par ON, le comportement suivant se produit :

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

Lorsque CHECK_POLICY est remplacé par OFF, le comportement suivant se produit :

  • CHECK_EXPIRATION est également défini sur OFF.
  • L’historique des mots de passe est effacé.
  • La valeur de lockout_time est réinitialisée.

Si MUST_CHANGE est spécifié, CHECK_EXPIRATION et CHECK_POLICY doivent être définis sur ON. Sinon, l’instruction échoue.

Si CHECK_POLICY est défini sur DÉSACTIVÉ, CHECK_EXPIRATION ne peut pas être défini sur ON. Une instruction ALTER LOGIN qui a cette combinaison d’options échoue.

Vous ne pouvez pas utiliser ALTER_LOGIN avec l’argument DISABLE pour refuser l’accès à un groupe Windows. C’est par conception. Par exemple, ALTER_LOGIN [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 doesn't exist or you don't have permission."

Dans SQL Database, les données de connexion requises pour authentifier une connexion et des règles de pare-feu au niveau du 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 vérifier qu’une base de données a la dernière version de la table des connexions, exécutez DBCC FLUSHAUTHCACHE.

Autorisations

Nécessite l’autorisation ALTER ANY LOGIN.

Si l’option CREDENTIAL est utilisée, nécessite également l’autorisation ALTER ANY CREDENTIAL.

Si la connexion en cours de modification est membre de l'sysadmin rôle serveur fixe ou bénéficiaire de l’autorisation CONTROL SERVER, nécessite également l’autorisation CONTROL SERVER lors des modifications suivantes :

  • Réinitialisation du mot de passe sans fournir l’ancien mot de passe.
  • Activation MUST_CHANGE, CHECK_POLICY ou CHECK_EXPIRATION.
  • Modification du nom de connexion.
  • Activation ou désactivation de la connexion.
  • Mappage de la connexion à des informations d’identification différentes.

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

Seul un principal SQL disposant de privilèges sysadmin 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. Consultez les arguments précédents pris en charge.

Un. Activer une connexion désactivée

L’exemple suivant active le Mary5de connexion.

ALTER LOGIN Mary5 ENABLE;

B. Modifier le mot de passe d’une connexion

L’exemple suivant modifie le mot de passe de connexion Mary5 en mot de passe fort.

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

C. Modifier le nom d’une connexion

L’exemple suivant modifie le nom du Mary5 de connexion en John2.

ALTER LOGIN Mary5 WITH NAME = John2;

D. Mapper une connexion à des informations d’identification

L’exemple suivant mappe le John2 de connexion aux informations d’identification Custodian04.

ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;

E. Mapper une connexion à des informations d’identification Extensible Key Management

L’exemple suivant mappe le Mary5 de connexion 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éverrouiller 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 vérification, puis à nouveau.

ALTER LOGIN [Mary5] WITH CHECK_POLICY = OFF;

ALTER LOGIN [Mary5] WITH CHECK_POLICY = ON;
GO

G. Modifier le mot de passe d’une connexion à l’aide de HASHED

L’exemple suivant modifie le mot de passe de la connexion TestUser à 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ésactiver 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;

SQL Server

SQL Managed Instance

* Azure Synapse
Analytique *

plateforme Analytics
système (PDW)

 

Azure Synapse Analytics

Syntaxe pour 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 | DÉSACTIVER

Active ou désactive cette connexion. La désactivation d’une connexion n’affecte pas le comportement des connexions déjà connectées. (Utilisez l’instruction KILL pour arrêter une connexion existante.) Les connexions désactivées conservent leurs autorisations et peuvent toujours être emprunté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.

Les connexions actives en continu à SQL Database nécessitent une réauthorisation (effectuée par le moteur de base de données) au moins toutes les 10 heures. Le moteur de base de données tente de réauthorisation à l’aide du mot de passe envoyé à l’origine et aucune entrée utilisateur n’est requise. Pour des raisons de performances, lorsqu’un mot de passe est réinitialisé dans SQL Database, la connexion n’est pas réauthentifiée, même si la connexion est réinitialisée en raison d’un regroupement de connexions. Cela diffère du comportement de SQL Server local. Si le mot de passe a changé depuis l’autorisation initiale de la connexion, la connexion doit être arrêtée et une nouvelle connexion établie à l’aide du nouveau mot de passe. Un utilisateur disposant de 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’une connexion (ou un utilisateur de base de données autonome) se connecte et est authentifiée, la connexion met en cache les informations d’identité sur la connexion. Pour une connexion d’authentification Windows, cela inclut des informations sur l’appartenance aux groupes Windows. L’identité de la connexion reste authentifiée tant que la connexion est conservée. Pour forcer les modifications apportées à l’identité, telles qu’une réinitialisation de mot de passe ou une modification de l’appartenance au groupe Windows, la connexion doit se déconnecter de l’autorité d’authentification (Windows ou SQL Server) et se reconnecter. Un membre du rôle serveur fixe sysadmin ou toute connexion avec l’autorisation ALTER ANY CONNECTION peut utiliser la commande KILL pour mettre fin à une connexion et forcer la connexion à se reconnecter. SQL Server Management Studio peut réutiliser les informations de connexion lors de l’ouverture de plusieurs connexions à l’Explorateur d’objets et aux fenêtres éditeur de requête. Fermez toutes les connexions pour forcer la reconnexion.

OLD_PASSWORD = 'old_password'

S’applique uniquement aux connexions SQL Server. Mot de passe actuel de la connexion à laquelle un nouveau mot de passe sera affecté. Les mots de passe respectent la casse.

NAME = login_name

Nouveau nom de la connexion en cours de renommage. S’il s’agit d’une connexion Windows, le SID du principal Windows correspondant au nouveau nom doit correspondre au SID associé à la connexion dans SQL Server. Le nouveau nom d’une connexion SQL Server ne peut pas contenir de caractère de barre oblique inverse (\).

Remarques

Dans SQL Database, les données de connexion requises pour authentifier une connexion et des règles de pare-feu au niveau du 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 vérifier qu’une base de données a la dernière version de la table des connexions, exécutez DBCC FLUSHAUTHCACHE.

Autorisations

Nécessite l’autorisation ALTER ANY LOGIN.

Si la connexion en cours de modification est membre de l'sysadmin rôle serveur fixe ou bénéficiaire de l’autorisation CONTROL SERVER, nécessite é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 connexion.
  • Activation ou désactivation de la connexion.
  • Mappage de la connexion à des informations d’identification différentes.

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

Exemples

Ces exemples incluent également des exemples d’utilisation d’autres produits SQL. Consultez les arguments précédents pris en charge.

Un. Activer une connexion désactivée

L’exemple suivant active le Mary5de connexion.

ALTER LOGIN Mary5 ENABLE;

B. Modifier le mot de passe d’une connexion

L’exemple suivant modifie le mot de passe de connexion Mary5 en mot de passe fort.

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

C. Modifier le nom d’une connexion

L’exemple suivant modifie le nom du Mary5 de connexion en John2.

ALTER LOGIN Mary5 WITH NAME = John2;

D. Mapper une connexion à des informations d’identification

L’exemple suivant mappe le John2 de connexion aux informations d’identification Custodian04.

ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;

E. Mapper une connexion à des informations d’identification Extensible Key Management

L’exemple suivant mappe le Mary5 de connexion 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éverrouiller 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. Modifier le mot de passe d’une connexion à l’aide de HASHED

L’exemple suivant modifie le mot de passe de la connexion TestUser à 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

SQL Server

SQL Managed Instance

Azure Synapse
d’analytique

* Analytics
Platform System (PDW) *

 

Système de plateforme Analytics

Syntaxe pour le système de plateforme Analytics

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 | DÉSACTIVER

Active ou désactive cette connexion. La désactivation d’une connexion n’affecte pas le comportement des connexions déjà connectées. (Utilisez l’instruction KILL pour arrêter une connexion existante.) Les connexions désactivées conservent leurs autorisations et peuvent toujours être emprunté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’une connexion (ou un utilisateur de base de données autonome) se connecte et est authentifiée, la connexion met en cache les informations d’identité sur la connexion. Pour une connexion d’authentification Windows, cela inclut des informations sur l’appartenance aux groupes Windows. L’identité de la connexion reste authentifiée tant que la connexion est conservée. Pour forcer les modifications apportées à l’identité, telles qu’une réinitialisation de mot de passe ou une modification de l’appartenance au groupe Windows, la connexion doit se déconnecter de l’autorité d’authentification (Windows ou SQL Server) et se reconnecter. Un membre du rôle serveur fixe sysadmin ou toute connexion avec l’autorisation ALTER ANY CONNECTION peut utiliser la commande KILL pour mettre fin à une connexion et forcer la connexion à se reconnecter. SQL Server Management Studio peut réutiliser les informations de connexion lors de l’ouverture de plusieurs connexions à l’Explorateur d’objets et aux fenêtres éditeur de requête. Fermez toutes les connexions pour forcer la reconnexion.

OLD_PASSWORD = 'old_password'

S’applique uniquement aux connexions SQL Server. Mot de passe actuel de la connexion à laquelle un nouveau mot de passe sera affecté. Les mots de passe respectent la casse.

MUST_CHANGE

S’applique uniquement aux connexions SQL Server. Si cette option est incluse, SQL Server demande un mot de passe mis à jour la première fois que la connexion modifiée est utilisée.

NAME = login_name

Nouveau nom de la connexion en cours de renommage. Si la connexion est une connexion Windows, le SID du principal Windows correspondant au nouveau nom doit correspondre au SID associé à la connexion dans SQL Server. Le nouveau nom d’une connexion SQL Server ne peut pas contenir de caractère de barre oblique inverse (\).

CHECK_EXPIRATION = { ON | OFF }

S’applique uniquement aux connexions SQL Server. Spécifie si la stratégie d’expiration du mot de passe doit être appliquée à 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 être appliquées à cette connexion. La valeur par défaut est ON.

OUVRIR

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

Remarques

Lorsque CHECK_POLICY est défini sur ON, l’argument HASHED ne peut pas être utilisé.

Lorsque CHECK_POLICY est remplacé par ON, le comportement suivant se produit :

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

Lorsque CHECK_POLICY est remplacé par OFF, le comportement suivant se produit :

  • CHECK_EXPIRATION est également défini sur OFF.
  • L’historique des mots de passe est effacé.
  • La valeur de lockout_time est réinitialisée.

Si MUST_CHANGE est spécifié, CHECK_EXPIRATION et CHECK_POLICY doivent être définis sur ON. Sinon, l’instruction échoue.

Si CHECK_POLICY est défini sur DÉSACTIVÉ, CHECK_EXPIRATION ne peut pas être défini sur ON. Une instruction ALTER LOGIN qui a cette combinaison d’options échoue.

Vous ne pouvez pas utiliser ALTER_LOGIN avec l’argument DISABLE pour refuser l’accès à un groupe Windows. C’est par conception. Par exemple, ALTER_LOGIN [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 doesn't exist or you don't have permission."

Dans SQL Database, les données de connexion requises pour authentifier une connexion et des règles de pare-feu au niveau du 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 vérifier qu’une base de données a la dernière version de la table des connexions, exécutez DBCC FLUSHAUTHCACHE.

Autorisations

Nécessite l’autorisation ALTER ANY LOGIN.

Si l’option CREDENTIAL est utilisée, nécessite également l’autorisation ALTER ANY CREDENTIAL.

Si la connexion en cours de modification est membre de l'sysadmin rôle serveur fixe ou bénéficiaire de l’autorisation CONTROL SERVER, nécessite également l’autorisation CONTROL SERVER lors des modifications suivantes :

  • Réinitialisation du mot de passe sans fournir l’ancien mot de passe.
  • Activation MUST_CHANGE, CHECK_POLICY ou CHECK_EXPIRATION.
  • Modification du nom de connexion.
  • Activation ou désactivation de la connexion.
  • Mappage de la connexion à des informations d’identification différentes.

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

Exemples

Ces exemples incluent également des exemples d’utilisation d’autres produits SQL. Consultez les arguments précédents pris en charge.

Un. Activer une connexion désactivée

L’exemple suivant active le Mary5de connexion.

ALTER LOGIN Mary5 ENABLE;

B. Modifier le mot de passe d’une connexion

L’exemple suivant modifie le mot de passe de connexion Mary5 en mot de passe fort.

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

C. Modifier le nom d’une connexion

L’exemple suivant modifie le nom du Mary5 de connexion en John2.

ALTER LOGIN Mary5 WITH NAME = John2;

D. Mapper une connexion à des informations d’identification

L’exemple suivant mappe le John2 de connexion aux informations d’identification Custodian04.

ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;

E. Mapper une connexion à des informations d’identification Extensible Key Management

L’exemple suivant mappe le Mary5 de connexion 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éverrouiller 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 vérification, puis à nouveau.

ALTER LOGIN [Mary5] WITH CHECK_POLICY = OFF;

ALTER LOGIN [Mary5] WITH CHECK_POLICY = ON;
GO

G. Modifier le mot de passe d’une connexion à l’aide de HASHED

L’exemple suivant modifie le mot de passe de la connexion TestUser à 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