ALTER LOGIN (Transact-SQL)ALTER LOGIN (Transact-SQL)

Modifie les propriétés d'un compte de connexion SQL ServerSQL Server.Changes the properties of a SQL ServerSQL Server login account.

Icône Lien de rubrique Conventions de la syntaxe Transact-SQLTopic link icon Transact-SQL Syntax Conventions

Cliquez sur un produit !Click a product!

Dans la ligne suivante, cliquez sur le nom du produit qui vous intéresse.In the following row, click whichever product name you are interested in. Le clic affiche un contenu différent ici dans cette page web, approprié pour le produit sur lequel vous cliquez.The click displays different content here on this webpage, appropriate for whichever product you click.

* SQL Server *  * SQL Server *   Pool élastique/base de données unique
SQL Database
SQL Database
single database/elastic pool
Instance managée
SQL Database
SQL Database
managed instance
SQL Data
Warehouse
SQL Data
Warehouse
Analytics Platform
System (PDW)
Analytics Platform
System (PDW)

 

SQL ServerSQL Server

SyntaxeSyntax

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

ArgumentsArguments

login_name spécifie le nom de la connexion SQL ServerSQL Server en cours de modification.login_name Specifies the name of the SQL ServerSQL Server login that is being changed. Les connexions de domaine doivent être placées entre crochets au format [domaine\utilisateur].Domain logins must be enclosed in brackets in the format [domain\user].

ENABLE | DISABLE active ou désactive cette connexion.ENABLE | DISABLE Enables or disables this login. La désactivation d'une connexion n'a aucune incidence sur le comportement des connexions qui sont déjà en cours.Disabling a login does not affect the behavior of logins that are already connected. (Utilisez l’instruction KILL pour mettre fin à des connexions existantes.) Les connexions désactivées conservent leurs autorisations et peuvent toujours être usurpées.(Use the KILL statement to terminate an existing connections.) Disabled logins retain their permissions and can still be impersonated.

PASSWORD =' password ' s’applique uniquement aux connexions SQL ServerSQL Server.PASSWORD ='password' Applies only to SQL ServerSQL Server logins. Spécifie le mot de passe de la connexion en cours de modification.Specifies the password for the login that is being changed. Les mots de passe respectent la casse.Passwords are case-sensitive.

PASSWORD = hashed_password s’applique uniquement au mot clé HASHED.PASSWORD =hashed_password Applies to the HASHED keyword only. Spécifie la valeur hachée du mot de passe de la connexion créée.Specifies the hashed value of the password for the login that is being created.

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.When a login (or a contained database user) connects and is authenticated, the connection caches identity information about the login. Dans le cas d'une connexion d'authentification Windows, ces informations incluent des données sur l'appartenance aux groupes Windows.For a Windows Authentication login, this includes information about membership in Windows groups. L'identité de la connexion reste authentifiée tant que la connexion est conservée.The identity of the login remains authenticated as long as the connection is maintained. 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 ServerSQL Server) et ouvrir une nouvelle session.To force changes in the identity, such as a password reset or change in Windows group membership, the login must logoff from the authentication authority (Windows or SQL ServerSQL Server), and log in again. 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.A member of the sysadmin fixed server role or any login with the ALTER ANY CONNECTION permission can use the KILL command to end a connection and force a login to reconnect. SQL Server Management StudioSQL 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.can reuse connection information when opening multiple connections to Object Explorer and Query Editor windows. Fermez toutes les connexions pour imposer une reconnexion.Close all connections to force reconnection.

HASHED s’applique uniquement aux connexions SQL ServerSQL Server.HASHED Applies to SQL ServerSQL Server logins only. Spécifie que le mot de passe entré après l'argument PASSWORD est déjà haché.Specifies that the password entered after the PASSWORD argument is already hashed. 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.If this option is not selected, the password is hashed before being stored in the database. Cette option doit être utilisée uniquement pour la synchronisation de connexion entre deux serveurs.This option should only be used for login synchronization between two servers. N'utilisez pas l'option HASHED pour modifier des mots de passe de manière régulière.Do not use the HASHED option to routinely change passwords.

OLD_PASSWORD =' oldpassword ' s’applique uniquement aux connexions SQL ServerSQL Server.OLD_PASSWORD ='oldpassword' Applies only to SQL ServerSQL Server logins. Mot de passe actuel de la connexion à laquelle un nouveau mot de passe doit être attribué.The current password of the login to which a new password will be assigned. Les mots de passe respectent la casse.Passwords are case-sensitive.

MUST_CHANGE s’applique uniquement aux connexions SQL ServerSQL Server.MUST_CHANGE Applies only to SQL ServerSQL Server logins. Si vous incluez cette option, SQL ServerSQL Server demande un mot de passe actualisé lors de la première utilisation de la connexion modifiée.If this option is included, SQL ServerSQL Server will prompt for an updated password the first time the altered login is used.

DEFAULT_DATABASE = database spécifie une base de données par défaut à affecter à la connexion.DEFAULT_DATABASE =database Specifies a default database to be assigned to the login.

DEFAULT_LANGUAGE = language spécifie une langue par défaut à affecter à la connexion.DEFAULT_LANGUAGE =language Specifies a default language to be assigned to the login. La langue par défaut pour toutes les connexions SQL Database est l’anglais. Ceci ne peut pas être modifié.The default language for all SQL Database logins is English and cannot be changed. La langue par défaut de la connexion sa sur SQL ServerSQL Server sur Linux est l’anglais, mais vous pouvez la modifier.The default language of the sa login on SQL ServerSQL Server on Linux, is English but it can be changed.

NAME = login_name correspond au nouveau nom de la connexion à renommer.NAME = login_name The new name of the login that is being renamed. 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 ServerSQL Server.If this is a Windows login, the SID of the Windows principal corresponding to the new name must match the SID associated with the login in SQL ServerSQL Server. Le nouveau nom d’une connexion SQL ServerSQL Server ne peut pas contenir une barre oblique inverse (\).The new name of a SQL ServerSQL Server login cannot contain a backslash character (\).

CHECK_EXPIRATION = { ON | OFF } s’applique uniquement aux connexions SQL ServerSQL Server.CHECK_EXPIRATION = { ON | OFF } Applies only to SQL ServerSQL Server logins. Spécifie si les règles d'expiration des mots de passe doivent être imposées sur cette connexion.Specifies whether password expiration policy should be enforced on this login. La valeur par défaut est OFF.The default value is OFF.

CHECK_POLICY = { ON | OFF } s’applique uniquement aux connexions SQL ServerSQL Server.CHECK_POLICY = { ON | OFF } Applies only to SQL ServerSQL Server logins. Spécifie que les stratégies de mot de passe Windows de l'ordinateur sur lequel SQL ServerSQL Server s'exécute doivent être imposées sur cette connexion.Specifies that the Windows password policies of the computer on which SQL ServerSQL Server is running should be enforced on this login. La valeur par défaut est ON.The default value is ON.

CREDENTIAL = credential_name correspond au nom des informations d’identification à mapper sur une connexion SQL ServerSQL Server.CREDENTIAL = credential_name The name of a credential to be mapped to a SQL ServerSQL Server login. Les informations d'identification doivent déjà exister sur le serveur.The credential must already exist in the server. Pour plus d’informations, consultez Informations d’identification.For more information, see Credentials. Les informations d’identification ne peuvent pas être mappées à la connexion sa.A credential cannot be mapped to the sa login.

NO CREDENTIAL supprime tout mappage existant de la connexion sur des informations d’identification du serveur.NO CREDENTIAL Removes any existing mapping of the login to a server credential. Pour plus d’informations, consultez Informations d’identification.For more information, see Credentials.

UNLOCK s’applique uniquement aux connexions SQL ServerSQL Server.UNLOCK Applies only to SQL ServerSQL Server logins. Spécifie qu'une connexion verrouillée doit être déverrouillée.Specifies that a login that is locked out should be unlocked.

ADD CREDENTIAL ajoute des informations d’identification du fournisseur EKM (Extensible Key Management) à la connexion.ADD CREDENTIAL Adds an Extensible Key Management (EKM) provider credential to the login. Pour plus d’informations, consultez Gestion de clés extensible (EKM).For more information, see Extensible Key Management (EKM).

DROP CREDENTIAL supprime des informations d’identification du fournisseur EKM (Extensible Key Management) de la connexion.DROP CREDENTIAL Removes an Extensible Key Management (EKM) provider credential from the login. Pour plus d’informations, consultez [Gestion de clés extensible (EKM)] (../..For more information, see [Extensible Key Management (EKM)] (../.. /relational-databases/security/encryption/extensible-key-management-ekm.md)./relational-databases/security/encryption/extensible-key-management-ekm.md).

NotesRemarks

Lorsque CHECK_POLICY a la valeur ON, l'argument HASHED ne peut pas être utilisé.When CHECK_POLICY is set to ON, the HASHED argument cannot be used.

Lorsque CHECK_POLICY prend la valeur ON, le comportement suivant a lieu :When CHECK_POLICY is changed to ON, the following behavior occurs:

  • L'historique du mot de passe est initialisé avec la valeur du hachage de mot de passe actuel.The password history is initialized with the value of the current password hash.

    Lorsque CHECK_POLICY prend la valeur OFF, le comportement suivant a lieu :When CHECK_POLICY is changed to OFF, the following behavior occurs:

  • CHECK_EXPIRATION ON prend également la valeur OFF.CHECK_EXPIRATION is also set to OFF.

  • L'historique du mot de passe est supprimé.The password history is cleared.

  • La valeur de lockout_time est réinitialisée.The value of lockout_time is reset.

Si MUST_CHANGE est spécifié, CHECK_EXPIRATION et CHECK_POLICY doivent prendre la valeur ON.If MUST_CHANGE is specified, CHECK_EXPIRATION and CHECK_POLICY must be set to ON. Sans quoi, l'instruction échoue.Otherwise, the statement will fail.

Si CHECK_POLICY prend la valeur OFF, CHECK_EXPIRATION ne peut pas prendre la valeur ON.If CHECK_POLICY is set to OFF, CHECK_EXPIRATION cannot be set to ON. Si cette combinaison d'options est utilisée dans une instruction ALTER LOGIN, l'instruction échoue.An ALTER LOGIN statement that has this combination of options will fail.

Vous ne pouvez pas utiliser ALTER_LOGIN avec l'argument DISABLE pour refuser l'accès à un groupe Windows.You cannot use ALTER_LOGIN with the DISABLE argument to deny access to a Windows group. Par exemple, ALTER_LOGIN [domain\group] DISABLE retourne le message d’erreur suivant :For example, ALTER_LOGIN [domain\group] DISABLE will return the following error message:

`"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."`

This is by design.

Dans SQL DatabaseSQL 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.In SQL DatabaseSQL Database, login data required to authenticate a connection and server-level firewall rules are temporarily cached in each database. Ce cache est régulièrement actualisé.This cache is periodically refreshed. 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.To force a refresh of the authentication cache and make sure that a database has the latest version of the logins table, execute DBCC FLUSHAUTHCACHE.

AutorisationsPermissions

Nécessite l'autorisation ALTER ANY LOGIN.Requires ALTER ANY LOGIN permission.

Si l'option CREDENTIAL est utilisée, exige également l'autorisation ALTER ANY CREDENTIAL.If the CREDENTIAL option is used, also requires ALTER ANY CREDENTIAL permission.

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 :If the login that is being changed is a member of the sysadmin fixed server role or a grantee of CONTROL SERVER permission, also requires CONTROL SERVER permission when making the following changes:

  • réinitialisation du mot de passe sans fournir l'ancien mot de passe ;Resetting the password without supplying the old password.
  • activation de MUST_CHANGE, CHECK_POLICY ou CHECK_EXPIRATION ;Enabling MUST_CHANGE, CHECK_POLICY, or CHECK_EXPIRATION.
  • modification du nom de la connexion ;Changing the login name.
  • activation ou désactivation de la connexion ;Enabling or disabling the login.
  • mappage de la connexion sur une autre information d'identification.Mapping the login to a different credential.

Un principal peut modifier le mot de passe, la langue et la base de données par défaut de sa propre connexion.A principal can change the password, default language, and default database for its own login.

ExemplesExamples

A.A. Activation d'une connexion désactivéeEnabling a disabled login

L'exemple suivant active la connexion Mary5.The following example enables the login Mary5.

ALTER LOGIN Mary5 ENABLE;

B.B. Modification du mot de passe d'une connexionChanging the password of a login

L'exemple suivant remplace le mot de passe de la connexion Mary5 par un mot de passe fort.The following example changes the password of login Mary5 to a strong password.

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

C.C. Modification du mot de passe d’une session à laquelle vous êtes connectéChanging the password of a login when logged in as the login

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.If you are attempting to change the password of the login that you're currently logged in with and you do not have the ALTER ANY LOGIN permission you must specify the OLD_PASSWORD option.

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

D.D. Modification du nom d'une connexionChanging the name of a login

L'exemple suivant remplace le nom de connexion Mary5 par John2.The following example changes the name of login Mary5 to John2.

ALTER LOGIN Mary5 WITH NAME = John2;

E.E. Mappage d'une connexion sur des informations d'identificationMapping a login to a credential

L'exemple suivant mappe la connexion John2 aux informations d'identification Custodian04.The following example maps the login John2 to the credential Custodian04.

ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;

F.F. Mappage d'une connexion à des informations d'identification de gestion de clés extensibleMapping a login to an Extensible Key Management credential

L'exemple suivant mappe la connexion Mary5 aux informations d'identification EKM EKMProvider1.The following example maps the login Mary5 to the EKM credential EKMProvider1.

ALTER LOGIN Mary5
ADD CREDENTIAL EKMProvider1;
GO

F.F. Déverrouillage d'une connexionUnlocking a login

Pour déverrouiller une connexion SQL ServerSQL Server, exécutez l'instruction suivante, en remplaçant **** par le mot de passe de compte souhaité.To unlock a SQL ServerSQL Server login, execute the following statement, replacing **** with the desired account password.

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.To unlock a login without changing the password, turn the check policy off and then on again.

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

G.G. Modification du mot de passe d'une connexion à l'aide de HASHEDChanging the password of a login using HASHED

L'exemple suivant modifie le mot de passe de la connexion TestUser en une valeur déjà hachée.The following example changes the password of the TestUser login to an already hashed value.

ALTER LOGIN TestUser WITH
PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED ;
GO

Voir aussiSee Also

SQL ServerSQL Server * Pool élastique/base de données unique
SQL Database *
* SQL Database
single database/elastic pool *
Instance managée
SQL Database
SQL Database
managed instance
SQL Data
Warehouse
SQL Data
Warehouse
Analytics Platform
System (PDW)
Analytics Platform
System (PDW)

 

Pool élastique/base de données unique Azure SQL DatabaseAzure SQL Database single database/elastic pool

SQL ServerSQL Server

SyntaxeSyntax

-- Syntax for Azure SQL Database and Azure SQL Data Warehouse

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

<status_option> ::=
    ENABLE | DISABLE

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

ArgumentsArguments

login_name spécifie le nom de la connexion SQL ServerSQL Server en cours de modification.login_name Specifies the name of the SQL ServerSQL Server login that is being changed. Les connexions de domaine doivent être placées entre crochets au format [domaine\utilisateur].Domain logins must be enclosed in brackets in the format [domain\user].

ENABLE | DISABLE active ou désactive cette connexion.ENABLE | DISABLE Enables or disables this login. La désactivation d'une connexion n'a aucune incidence sur le comportement des connexions qui sont déjà en cours.Disabling a login does not affect the behavior of logins that are already connected. (Utilisez l’instruction KILL pour mettre fin à des connexions existantes.) Les connexions désactivées conservent leurs autorisations et peuvent toujours être usurpées.(Use the KILL statement to terminate an existing connections.) Disabled logins retain their permissions and can still be impersonated.

PASSWORD =' password ' s’applique uniquement aux connexions SQL ServerSQL Server.PASSWORD ='password' Applies only to SQL ServerSQL Server logins. Spécifie le mot de passe de la connexion en cours de modification.Specifies the password for the login that is being changed. Les mots de passe respectent la casse.Passwords are case-sensitive.

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.Continuously active connections to SQL Database require reauthorization (performed by the Database Engine) at least every 10 hours. 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.The Database Engine attempts reauthorization using the originally submitted password and no user input is required. 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.For performance reasons, when a password is reset in SQL Database, the connection will not be re-authenticated, even if the connection is reset due to connection pooling. Cela est différent du comportement local de SQL Server.This is different from the behavior of on-premises 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.If the password has been changed since the connection was initially authorized, the connection must be terminated and a new connection made using the new password. Un utilisateur avec l’autorisation KILL DATABASE CONNECTION peut mettre fin explicitement à une connexion à SQL Database à l’aide de la commande KILL.A user with the KILL DATABASE CONNECTION permission can explicitly terminate a connection to SQL Database by using the KILL command. Pour plus d’informations, consultez KILL.For more information, see 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.When a login (or a contained database user) connects and is authenticated, the connection caches identity information about the login. Dans le cas d'une connexion d'authentification Windows, ces informations incluent des données sur l'appartenance aux groupes Windows.For a Windows Authentication login, this includes information about membership in Windows groups. L'identité de la connexion reste authentifiée tant que la connexion est conservée.The identity of the login remains authenticated as long as the connection is maintained. 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 ServerSQL Server) et ouvrir une nouvelle session.To force changes in the identity, such as a password reset or change in Windows group membership, the login must logoff from the authentication authority (Windows or SQL ServerSQL Server), and log in again. 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.A member of the sysadmin fixed server role or any login with the ALTER ANY CONNECTION permission can use the KILL command to end a connection and force a login to reconnect. SQL Server Management StudioSQL 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.can reuse connection information when opening multiple connections to Object Explorer and Query Editor windows. Fermez toutes les connexions pour imposer une reconnexion.Close all connections to force reconnection.

OLD_PASSWORD =' oldpassword ' s’applique uniquement aux connexions SQL ServerSQL Server.OLD_PASSWORD ='oldpassword' Applies only to SQL ServerSQL Server logins. Mot de passe actuel de la connexion à laquelle un nouveau mot de passe doit être attribué.The current password of the login to which a new password will be assigned. Les mots de passe respectent la casse.Passwords are case-sensitive.

NAME = login_name correspond au nouveau nom de la connexion à renommer.NAME = login_name The new name of the login that is being renamed. 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 ServerSQL Server.If this is a Windows login, the SID of the Windows principal corresponding to the new name must match the SID associated with the login in SQL ServerSQL Server. Le nouveau nom d’une connexion SQL ServerSQL Server ne peut pas contenir une barre oblique inverse (\).The new name of a SQL ServerSQL Server login cannot contain a backslash character (\).

NotesRemarks

Dans SQL DatabaseSQL 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.In SQL DatabaseSQL Database, login data required to authenticate a connection and server-level firewall rules are temporarily cached in each database. Ce cache est régulièrement actualisé.This cache is periodically refreshed. 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.To force a refresh of the authentication cache and make sure that a database has the latest version of the logins table, execute DBCC FLUSHAUTHCACHE.

AutorisationsPermissions

Nécessite l'autorisation ALTER ANY LOGIN.Requires ALTER ANY LOGIN permission.

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 :If the login that is being changed is a member of the sysadmin fixed server role or a grantee of CONTROL SERVER permission, also requires CONTROL SERVER permission when making the following changes:

  • réinitialisation du mot de passe sans fournir l'ancien mot de passe ;Resetting the password without supplying the old password.
  • modification du nom de la connexion ;Changing the login name.
  • activation ou désactivation de la connexion ;Enabling or disabling the login.
  • mappage de la connexion sur une autre information d'identification.Mapping the login to a different credential.

Un principal peut modifier le mot de passe pour sa propre connexion.A principal can change the password for its own login.

ExemplesExamples

Ces exemples incluent également des exemples d’utilisation d’autres produits SQL.These examples also include examples for using other SQL products. Vérifiez les arguments pris en charge ci-dessus.Please see which arguments are supported above.

A.A. Activation d'une connexion désactivéeEnabling a disabled login

L'exemple suivant active la connexion Mary5.The following example enables the login Mary5.

ALTER LOGIN Mary5 ENABLE;

B.B. Modification du mot de passe d'une connexionChanging the password of a login

L'exemple suivant remplace le mot de passe de la connexion Mary5 par un mot de passe fort.The following example changes the password of login Mary5 to a strong password.

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

C.C. Modification du nom d'une connexionChanging the name of a login

L'exemple suivant remplace le nom de connexion Mary5 par John2.The following example changes the name of login Mary5 to John2.

ALTER LOGIN Mary5 WITH NAME = John2;

D.D. Mappage d'une connexion sur des informations d'identificationMapping a login to a credential

L'exemple suivant mappe la connexion John2 aux informations d'identification Custodian04.The following example maps the login John2 to the credential Custodian04.

ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;

E.E. Mappage d'une connexion à des informations d'identification de gestion de clés extensibleMapping a login to an Extensible Key Management credential

L'exemple suivant mappe la connexion Mary5 aux informations d'identification EKM EKMProvider1.The following example maps the login Mary5 to the EKM credential EKMProvider1.

S’applique à : SQL Server 2008SQL Server 2008 et versions ultérieures.Applies to: SQL Server 2008SQL Server 2008 and later.

ALTER LOGIN Mary5
ADD CREDENTIAL EKMProvider1;
GO

F.F. Déverrouillage d'une connexionUnlocking a login

Pour déverrouiller une connexion SQL ServerSQL Server, exécutez l'instruction suivante, en remplaçant **** par le mot de passe de compte souhaité.To unlock a SQL ServerSQL Server login, execute the following statement, replacing **** with the desired account password.

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.To unlock a login without changing the password, turn the check policy off and then on again.

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

G.G. Modification du mot de passe d'une connexion à l'aide de HASHEDChanging the password of a login using HASHED

L'exemple suivant modifie le mot de passe de la connexion TestUser en une valeur déjà hachée.The following example changes the password of the TestUser login to an already hashed value.

S’applique à : SQL Server 2008SQL Server 2008 et versions ultérieures.Applies to: SQL Server 2008SQL Server 2008 and later.

ALTER LOGIN TestUser WITH
PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED ;
GO

Voir aussiSee Also

SQL ServerSQL Server Pool élastique/base de données unique
SQL Database
SQL Database
single database/elastic pool
* Instance managée
SQL Database *
* SQL Database
managed instance *
SQL Data
Warehouse
SQL Data
Warehouse
Analytics Platform
System (PDW)
Analytics Platform
System (PDW)

 

Instance managée Azure SQL DatabaseAzure SQL Database managed instance

SyntaxeSyntax

-- Syntax for SQL Server and Azure SQL Database 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

Notes

L’administrateur Azure AD pour la fonctionnalité d’instance managée après la création a changé.The Azure AD admin for managed instance functionality after creation has changed. Pour plus d’informations, consultez Nouvelle fonctionnalité de l’administrateur Azure AD pour MI.For more information, see New Azure AD admin functionality for MI.

-- Syntax for Azure SQL Database managed instance using Azure AD logins

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

<status_option> ::=
    ENABLE | DISABLE

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

ArgumentsArguments

Arguments applicables aux connexions SQL et Azure ADArguments applicable to SQL and Azure AD logins

login_name spécifie le nom de la connexion SQL ServerSQL Server en cours de modification.login_name Specifies the name of the SQL ServerSQL Server login that is being changed. Les connexions AD Azure doivent être spécifiées au format user@domain.Azure AD logins must be specified as user@domain. Par exemple, john.smith@contoso.com, ou sous forme de groupe ou de nom d’application Azure AD.For example, john.smith@contoso.com, or as the Azure AD group or application name. Pour les connexions Azure AD, login_name doit correspondre à une connexion Azure AD existante créée dans la base de données master.For Azure AD logins, the login_name must correspond to an existing Azure AD login created in the master database.

ENABLE | DISABLE active ou désactive cette connexion.ENABLE | DISABLE Enables or disables this login. La désactivation d'une connexion n'a aucune incidence sur le comportement des connexions qui sont déjà en cours.Disabling a login does not affect the behavior of logins that are already connected. (Utilisez l’instruction KILL pour mettre fin à une connexion existante.) Les connexions désactivées conservent leurs autorisations et peuvent toujours être usurpées.(Use the KILL statement to terminate an existing connection.) Disabled logins retain their permissions and can still be impersonated.

DEFAULT_DATABASE = database spécifie une base de données par défaut à affecter à la connexion.DEFAULT_DATABASE =database Specifies a default database to be assigned to the login.

DEFAULT_LANGUAGE = language spécifie une langue par défaut à affecter à la connexion.DEFAULT_LANGUAGE =language Specifies a default language to be assigned to the login. La langue par défaut pour toutes les connexions SQL Database est l’anglais. Ceci ne peut pas être modifié.The default language for all SQL Database logins is English and cannot be changed. La langue par défaut de la connexion sa sur SQL ServerSQL Server sur Linux est l’anglais, mais vous pouvez la modifier.The default language of the sa login on SQL ServerSQL Server on Linux, is English but it can be changed.

Arguments applicables uniquement aux connexions SQLArguments applicable only to SQL logins

PASSWORD =' password ' s’applique uniquement aux connexions SQL ServerSQL Server.PASSWORD ='password' Applies only to SQL ServerSQL Server logins. Spécifie le mot de passe de la connexion en cours de modification.Specifies the password for the login that is being changed. Les mots de passe respectent la casse.Passwords are case-sensitive. Les mots de passe ne s’appliquent pas non plus en cas d’utilisation avec des connexions externes, telles que des connexions Azure AD.Passwords also do not apply when used with external logins, like Azure AD logins.

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.Continuously active connections to SQL Database require reauthorization (performed by the Database Engine) at least every 10 hours. 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.The Database Engine attempts reauthorization using the originally submitted password and no user input is required. 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.For performance reasons, when a password is reset in SQL Database, the connection will not be re-authenticated, even if the connection is reset due to connection pooling. Cela est différent du comportement local de SQL Server.This is different from the behavior of on-premises 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.If the password has been changed since the connection was initially authorized, the connection must be terminated and a new connection made using the new password. Un utilisateur avec l’autorisation KILL DATABASE CONNECTION peut mettre fin explicitement à une connexion à SQL Database à l’aide de la commande KILL.A user with the KILL DATABASE CONNECTION permission can explicitly terminate a connection to SQL Database by using the KILL command. Pour plus d’informations, consultez KILL.For more information, see KILL.

PASSWORD = hashed_password s’applique uniquement au mot clé HASHED.PASSWORD =hashed_password Applies to the HASHED keyword only. Spécifie la valeur hachée du mot de passe de la connexion créée.Specifies the hashed value of the password for the login that is being created.

HASHED s’applique uniquement aux connexions SQL ServerSQL Server.HASHED Applies to SQL ServerSQL Server logins only. Spécifie que le mot de passe entré après l'argument PASSWORD est déjà haché.Specifies that the password entered after the PASSWORD argument is already hashed. 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.If this option is not selected, the password is hashed before being stored in the database. Cette option doit être utilisée uniquement pour la synchronisation de connexion entre deux serveurs.This option should only be used for login synchronization between two servers. N'utilisez pas l'option HASHED pour modifier des mots de passe de manière régulière.Do not use the HASHED option to routinely change passwords.

OLD_PASSWORD =' oldpassword ' s’applique uniquement aux connexions SQL ServerSQL Server.OLD_PASSWORD ='oldpassword' Applies only to SQL ServerSQL Server logins. Mot de passe actuel de la connexion à laquelle un nouveau mot de passe doit être attribué.The current password of the login to which a new password will be assigned. Les mots de passe respectent la casse.Passwords are case-sensitive.

MUST_CHANGEMUST_CHANGE
S'applique uniquement aux connexions SQL ServerSQL Server.Applies only to SQL ServerSQL Server logins. Si vous incluez cette option, SQL ServerSQL Server demande un mot de passe actualisé lors de la première utilisation de la connexion modifiée.If this option is included, SQL ServerSQL Server will prompt for an updated password the first time the altered login is used.

NAME = login_name correspond au nouveau nom de la connexion à renommer.NAME = login_name The new name of the login that is being renamed. 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 ServerSQL Server.If the login is a Windows login, the SID of the Windows principal corresponding to the new name must match the SID associated with the login in SQL ServerSQL Server. Le nouveau nom d’une connexion SQL ServerSQL Server ne peut pas contenir une barre oblique inverse (\).The new name of a SQL ServerSQL Server login cannot contain a backslash character (\).

CHECK_EXPIRATION = { ON | OFF } s’applique uniquement aux connexions SQL ServerSQL Server.CHECK_EXPIRATION = { ON | OFF } Applies only to SQL ServerSQL Server logins. Spécifie si les règles d'expiration des mots de passe doivent être imposées sur cette connexion.Specifies whether password expiration policy should be enforced on this login. La valeur par défaut est OFF.The default value is OFF.

CHECK_POLICY = { ON | OFF } s’applique uniquement aux connexions SQL ServerSQL Server.CHECK_POLICY = { ON | OFF } Applies only to SQL ServerSQL Server logins. Spécifie que les stratégies de mot de passe Windows de l'ordinateur sur lequel SQL ServerSQL Server s'exécute doivent être imposées sur cette connexion.Specifies that the Windows password policies of the computer on which SQL ServerSQL Server is running should be enforced on this login. La valeur par défaut est ON.The default value is ON.

CREDENTIAL = credential_name correspond au nom des informations d’identification à mapper sur une connexion SQL ServerSQL Server.CREDENTIAL = credential_name The name of a credential to be mapped to a SQL ServerSQL Server login. Les informations d'identification doivent déjà exister sur le serveur.The credential must already exist in the server. Pour plus d’informations, consultez Informations d’identification.For more information, see Credentials. Les informations d’identification ne peuvent pas être mappées à la connexion sa.A credential cannot be mapped to the sa login.

NO CREDENTIAL supprime tout mappage existant de la connexion sur des informations d’identification du serveur.NO CREDENTIAL Removes any existing mapping of the login to a server credential. Pour plus d’informations, consultez Informations d’identification.For more information, see Credentials.

UNLOCK s’applique uniquement aux connexions SQL ServerSQL Server.UNLOCK Applies only to SQL ServerSQL Server logins. Spécifie qu'une connexion verrouillée doit être déverrouillée.Specifies that a login that is locked out should be unlocked.

ADD CREDENTIAL ajoute des informations d’identification du fournisseur EKM (Extensible Key Management) à la connexion.ADD CREDENTIAL Adds an Extensible Key Management (EKM) provider credential to the login. Pour plus d’informations, consultez Gestion de clés extensible (EKM).For more information, see Extensible Key Management (EKM).

DROP CREDENTIAL supprime des informations d’identification du fournisseur EKM (Extensible Key Management) de la connexion.DROP CREDENTIAL Removes an Extensible Key Management (EKM) provider credential from the login. Pour plus d’informations, consultez Gestion de clés extensible (EKM).For more information, see Extensible Key Management (EKM).

NotesRemarks

Lorsque CHECK_POLICY a la valeur ON, l'argument HASHED ne peut pas être utilisé.When CHECK_POLICY is set to ON, the HASHED argument cannot be used.

Lorsque CHECK_POLICY prend la valeur ON, le comportement suivant a lieu :When CHECK_POLICY is changed to ON, the following behavior occurs:

  • L'historique du mot de passe est initialisé avec la valeur du hachage de mot de passe actuel.The password history is initialized with the value of the current password hash.

    Lorsque CHECK_POLICY prend la valeur OFF, le comportement suivant a lieu :When CHECK_POLICY is changed to OFF, the following behavior occurs:

  • CHECK_EXPIRATION ON prend également la valeur OFF.CHECK_EXPIRATION is also set to OFF.

  • L'historique du mot de passe est supprimé.The password history is cleared.

  • La valeur de lockout_time est réinitialisée.The value of lockout_time is reset.

Si MUST_CHANGE est spécifié, CHECK_EXPIRATION et CHECK_POLICY doivent prendre la valeur ON.If MUST_CHANGE is specified, CHECK_EXPIRATION and CHECK_POLICY must be set to ON. Sans quoi, l'instruction échoue.Otherwise, the statement will fail.

Si CHECK_POLICY prend la valeur OFF, CHECK_EXPIRATION ne peut pas prendre la valeur ON.If CHECK_POLICY is set to OFF, CHECK_EXPIRATION cannot be set to ON. Si cette combinaison d'options est utilisée dans une instruction ALTER LOGIN, l'instruction échoue.An ALTER LOGIN statement that has this combination of options will fail.

Vous ne pouvez pas utiliser ALTER_LOGIN avec l'argument DISABLE pour refuser l'accès à un groupe Windows.You cannot use ALTER_LOGIN with the DISABLE argument to deny access to a Windows group. C'est la procédure normale.This is by design. Par exemple, ALTER_LOGIN [domain\group] DISABLE retourne le message d’erreur suivant :For example, ALTER_LOGIN [domain\group] DISABLE will return the following error message:

`"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 DatabaseSQL 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.In SQL DatabaseSQL Database, login data required to authenticate a connection and server-level firewall rules are temporarily cached in each database. Ce cache est régulièrement actualisé.This cache is periodically refreshed. 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.To force a refresh of the authentication cache and make sure that a database has the latest version of the logins table, execute DBCC FLUSHAUTHCACHE.

AutorisationsPermissions

Nécessite l'autorisation ALTER ANY LOGIN.Requires ALTER ANY LOGIN permission.

Si l'option CREDENTIAL est utilisée, exige également l'autorisation ALTER ANY CREDENTIAL.If the CREDENTIAL option is used, also requires ALTER ANY CREDENTIAL permission.

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 :If the login that is being changed is a member of the sysadmin fixed server role or a grantee of CONTROL SERVER permission, also requires CONTROL SERVER permission when making the following changes:

  • réinitialisation du mot de passe sans fournir l'ancien mot de passe ;Resetting the password without supplying the old password.
  • activation de MUST_CHANGE, CHECK_POLICY ou CHECK_EXPIRATION ;Enabling MUST_CHANGE, CHECK_POLICY, or CHECK_EXPIRATION.
  • modification du nom de la connexion ;Changing the login name.
  • activation ou désactivation de la connexion ;Enabling or disabling the login.
  • mappage de la connexion sur une autre information d'identification.Mapping the login to a different credential.

Un principal peut modifier le mot de passe, la langue et la base de données par défaut de sa propre connexion.A principal can change the password, default language, and default database for its own login.

Seul un principal SQL avec des privilèges sysadmin peut exécuter une commande ALTER LOGIN sur une connexion Azure AD.Only a SQL principal with sysadmin privileges can execute an ALTER LOGIN command against an Azure AD login.

ExemplesExamples

Ces exemples incluent également des exemples d’utilisation d’autres produits SQL.These examples also include examples for using other SQL products. Vérifiez les arguments pris en charge ci-dessus.Please see which arguments are supported above.

A.A. Activation d'une connexion désactivéeEnabling a disabled login

L'exemple suivant active la connexion Mary5.The following example enables the login Mary5.

ALTER LOGIN Mary5 ENABLE;

B.B. Modification du mot de passe d'une connexionChanging the password of a login

L'exemple suivant remplace le mot de passe de la connexion Mary5 par un mot de passe fort.The following example changes the password of login Mary5 to a strong password.

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

C.C. Modification du nom d'une connexionChanging the name of a login

L'exemple suivant remplace le nom de connexion Mary5 par John2.The following example changes the name of login Mary5 to John2.

ALTER LOGIN Mary5 WITH NAME = John2;

D.D. Mappage d'une connexion sur des informations d'identificationMapping a login to a credential

L'exemple suivant mappe la connexion John2 aux informations d'identification Custodian04.The following example maps the login John2 to the credential Custodian04.

ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;

E.E. Mappage d'une connexion à des informations d'identification de gestion de clés extensibleMapping a login to an Extensible Key Management credential

L'exemple suivant mappe la connexion Mary5 aux informations d'identification EKM EKMProvider1.The following example maps the login Mary5 to the EKM credential EKMProvider1.

S’applique à : SQL Server 2008SQL Server 2008 et versions ultérieures, ainsi qu’à l’instance gérée d’Azure SQL Database.Applies to: SQL Server 2008SQL Server 2008 and later, and Azure SQL Database managed instance.

ALTER LOGIN Mary5
ADD CREDENTIAL EKMProvider1;
GO

F.F. Déverrouillage d'une connexionUnlocking a login

Pour déverrouiller une connexion SQL ServerSQL Server, exécutez l'instruction suivante, en remplaçant **** par le mot de passe de compte souhaité.To unlock a SQL ServerSQL Server login, execute the following statement, replacing **** with the desired account password.

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.To unlock a login without changing the password, turn the check policy off and then on again.

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

G.G. Modification du mot de passe d'une connexion à l'aide de HASHEDChanging the password of a login using HASHED

L'exemple suivant modifie le mot de passe de la connexion TestUser en une valeur déjà hachée.The following example changes the password of the TestUser login to an already hashed value.

S’applique à : SQL Server 2008SQL Server 2008 et versions ultérieures, ainsi qu’à l’instance gérée d’Azure SQL Database.Applies to: SQL Server 2008SQL Server 2008 and later, and Azure SQL Database managed instance.

ALTER LOGIN TestUser WITH
PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED ;
GO

H.H. Désactivation de la connexion d’un utilisateur Azure ADDisabling the login of an Azure AD user

L’exemple suivant désactive la connexion d’un utilisateur Azure AD, joe@contoso.com.The following example disables the login of an Azure AD user, joe@contoso.com.

ALTER LOGIN [joe@contoso.com] DISABLE

Voir aussiSee Also

SQL ServerSQL Server Pool élastique/base de données unique
SQL Database
SQL Database
single database/elastic pool
Instance managée
SQL Database
SQL Database
managed instance
* SQL Data
Warehouse *
* SQL Data
Warehouse *
Analytics Platform
System (PDW)
Analytics Platform
System (PDW)

 

Azure SQL Data Warehouse.Azure SQL Data Warehouse

SyntaxeSyntax

-- Syntax for Azure SQL Database and Azure SQL Data Warehouse

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

<status_option> ::=
    ENABLE | DISABLE

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

ArgumentsArguments

login_name spécifie le nom de la connexion SQL ServerSQL Server en cours de modification.login_name Specifies the name of the SQL ServerSQL Server login that is being changed. Les connexions de domaine doivent être placées entre crochets au format [domaine\utilisateur].Domain logins must be enclosed in brackets in the format [domain\user].

ENABLE | DISABLE active ou désactive cette connexion.ENABLE | DISABLE Enables or disables this login. La désactivation d'une connexion n'a aucune incidence sur le comportement des connexions qui sont déjà en cours.Disabling a login does not affect the behavior of logins that are already connected. (Utilisez l’instruction KILL pour mettre fin à des connexions existantes.) Les connexions désactivées conservent leurs autorisations et peuvent toujours être usurpées.(Use the KILL statement to terminate an existing connections.) Disabled logins retain their permissions and can still be impersonated.

PASSWORD =' password ' s’applique uniquement aux connexions SQL ServerSQL Server.PASSWORD ='password' Applies only to SQL ServerSQL Server logins. Spécifie le mot de passe de la connexion en cours de modification.Specifies the password for the login that is being changed. Les mots de passe respectent la casse.Passwords are case-sensitive.

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.Continuously active connections to SQL Database require reauthorization (performed by the Database Engine) at least every 10 hours. 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.The Database Engine attempts reauthorization using the originally submitted password and no user input is required. 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.For performance reasons, when a password is reset in SQL Database, the connection will not be re-authenticated, even if the connection is reset due to connection pooling. Cela est différent du comportement local de SQL Server.This is different from the behavior of on-premises 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.If the password has been changed since the connection was initially authorized, the connection must be terminated and a new connection made using the new password. Un utilisateur avec l’autorisation KILL DATABASE CONNECTION peut mettre fin explicitement à une connexion à SQL Database à l’aide de la commande KILL.A user with the KILL DATABASE CONNECTION permission can explicitly terminate a connection to SQL Database by using the KILL command. Pour plus d’informations, consultez KILL.For more information, see 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.When a login (or a contained database user) connects and is authenticated, the connection caches identity information about the login. Dans le cas d'une connexion d'authentification Windows, ces informations incluent des données sur l'appartenance aux groupes Windows.For a Windows Authentication login, this includes information about membership in Windows groups. L'identité de la connexion reste authentifiée tant que la connexion est conservée.The identity of the login remains authenticated as long as the connection is maintained. 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 ServerSQL Server) et ouvrir une nouvelle session.To force changes in the identity, such as a password reset or change in Windows group membership, the login must logoff from the authentication authority (Windows or SQL ServerSQL Server), and log in again. 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.A member of the sysadmin fixed server role or any login with the ALTER ANY CONNECTION permission can use the KILL command to end a connection and force a login to reconnect. SQL Server Management StudioSQL 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.can reuse connection information when opening multiple connections to Object Explorer and Query Editor windows. Fermez toutes les connexions pour imposer une reconnexion.Close all connections to force reconnection.

OLD_PASSWORD =' oldpassword ' s’applique uniquement aux connexions SQL ServerSQL Server.OLD_PASSWORD ='oldpassword' Applies only to SQL ServerSQL Server logins. Mot de passe actuel de la connexion à laquelle un nouveau mot de passe doit être attribué.The current password of the login to which a new password will be assigned. Les mots de passe respectent la casse.Passwords are case-sensitive.

NAME = login_name correspond au nouveau nom de la connexion à renommer.NAME = login_name The new name of the login that is being renamed. 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 ServerSQL Server.If this is a Windows login, the SID of the Windows principal corresponding to the new name must match the SID associated with the login in SQL ServerSQL Server. Le nouveau nom d’une connexion SQL ServerSQL Server ne peut pas contenir une barre oblique inverse (\).The new name of a SQL ServerSQL Server login cannot contain a backslash character (\).

NotesRemarks

Dans SQL DatabaseSQL 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.In SQL DatabaseSQL Database, login data required to authenticate a connection and server-level firewall rules are temporarily cached in each database. Ce cache est régulièrement actualisé.This cache is periodically refreshed. 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.To force a refresh of the authentication cache and make sure that a database has the latest version of the logins table, execute DBCC FLUSHAUTHCACHE.

AutorisationsPermissions

Nécessite l'autorisation ALTER ANY LOGIN.Requires ALTER ANY LOGIN permission.

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 :If the login that is being changed is a member of the sysadmin fixed server role or a grantee of CONTROL SERVER permission, also requires CONTROL SERVER permission when making the following changes:

  • réinitialisation du mot de passe sans fournir l'ancien mot de passe ;Resetting the password without supplying the old password.
  • modification du nom de la connexion ;Changing the login name.
  • activation ou désactivation de la connexion ;Enabling or disabling the login.
  • mappage de la connexion sur une autre information d'identification.Mapping the login to a different credential.

Un principal peut modifier le mot de passe pour sa propre connexion.A principal can change the password for its own login.

ExemplesExamples

Ces exemples incluent également des exemples d’utilisation d’autres produits SQL.These examples also include examples for using other SQL products. Vérifiez les arguments pris en charge ci-dessus.Please see which arguments are supported above.

A.A. Activation d'une connexion désactivéeEnabling a disabled login

L'exemple suivant active la connexion Mary5.The following example enables the login Mary5.

ALTER LOGIN Mary5 ENABLE;

B.B. Modification du mot de passe d'une connexionChanging the password of a login

L'exemple suivant remplace le mot de passe de la connexion Mary5 par un mot de passe fort.The following example changes the password of login Mary5 to a strong password.

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

C.C. Modification du nom d'une connexionChanging the name of a login

L'exemple suivant remplace le nom de connexion Mary5 par John2.The following example changes the name of login Mary5 to John2.

ALTER LOGIN Mary5 WITH NAME = John2;

D.D. Mappage d'une connexion sur des informations d'identificationMapping a login to a credential

L'exemple suivant mappe la connexion John2 aux informations d'identification Custodian04.The following example maps the login John2 to the credential Custodian04.

ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;

E.E. Mappage d'une connexion à des informations d'identification de gestion de clés extensibleMapping a login to an Extensible Key Management credential

L'exemple suivant mappe la connexion Mary5 aux informations d'identification EKM EKMProvider1.The following example maps the login Mary5 to the EKM credential EKMProvider1.

S’applique à : SQL Server 2008SQL Server 2008 et versions ultérieures.Applies to: SQL Server 2008SQL Server 2008 and later.

ALTER LOGIN Mary5
ADD CREDENTIAL EKMProvider1;
GO

F.F. Déverrouillage d'une connexionUnlocking a login

Pour déverrouiller une connexion SQL ServerSQL Server, exécutez l'instruction suivante, en remplaçant **** par le mot de passe de compte souhaité.To unlock a SQL ServerSQL Server login, execute the following statement, replacing **** with the desired account password.

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.To unlock a login without changing the password, turn the check policy off and then on again.

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

G.G. Modification du mot de passe d'une connexion à l'aide de HASHEDChanging the password of a login using HASHED

L'exemple suivant modifie le mot de passe de la connexion TestUser en une valeur déjà hachée.The following example changes the password of the TestUser login to an already hashed value.

S’applique à : SQL Server 2008SQL Server 2008 et versions ultérieures.Applies to: SQL Server 2008SQL Server 2008 and later.

ALTER LOGIN TestUser WITH
PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED ;
GO

Voir aussiSee Also

SQL ServerSQL Server Pool élastique/base de données unique
SQL Database
SQL Database
single database/elastic pool
Instance managée
SQL Database
SQL Database
managed instance
SQL Data
Warehouse
SQL Data
Warehouse
* Analytics
Platform System (PDW) *
* Analytics
Platform System (PDW) *

 

Système de la plateforme d'analyseAnalytics Platform System

SyntaxeSyntax

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

ArgumentsArguments

login_name spécifie le nom de la connexion SQL ServerSQL Server en cours de modification.login_name Specifies the name of the SQL ServerSQL Server login that is being changed. Les connexions de domaine doivent être placées entre crochets au format [domaine\utilisateur].Domain logins must be enclosed in brackets in the format [domain\user].

ENABLE | DISABLE active ou désactive cette connexion.ENABLE | DISABLE Enables or disables this login. La désactivation d'une connexion n'a aucune incidence sur le comportement des connexions qui sont déjà en cours.Disabling a login does not affect the behavior of logins that are already connected. (Utilisez l’instruction KILL pour mettre fin à une connexion existante.) Les connexions désactivées conservent leurs autorisations et peuvent toujours être usurpées.(Use the KILL statement to terminate an existing connection.) Disabled logins retain their permissions and can still be impersonated.

PASSWORD =' password ' s’applique uniquement aux connexions SQL ServerSQL Server.PASSWORD ='password' Applies only to SQL ServerSQL Server logins. Spécifie le mot de passe de la connexion en cours de modification.Specifies the password for the login that is being changed. Les mots de passe respectent la casse.Passwords are case-sensitive.

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.When a login (or a contained database user) connects and is authenticated, the connection caches identity information about the login. Dans le cas d'une connexion d'authentification Windows, ces informations incluent des données sur l'appartenance aux groupes Windows.For a Windows Authentication login, this includes information about membership in Windows groups. L'identité de la connexion reste authentifiée tant que la connexion est conservée.The identity of the login remains authenticated as long as the connection is maintained. 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 ServerSQL Server) et ouvrir une nouvelle session.To force changes in the identity, such as a password reset or change in Windows group membership, the login must logoff from the authentication authority (Windows or SQL ServerSQL Server), and log in again. 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.A member of the sysadmin fixed server role or any login with the ALTER ANY CONNECTION permission can use the KILL command to end a connection and force a login to reconnect. SQL Server Management StudioSQL 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.can reuse connection information when opening multiple connections to Object Explorer and Query Editor windows. Fermez toutes les connexions pour imposer une reconnexion.Close all connections to force reconnection.

OLD_PASSWORD =' oldpassword ' s’applique uniquement aux connexions SQL ServerSQL Server.OLD_PASSWORD ='oldpassword' Applies only to SQL ServerSQL Server logins. Mot de passe actuel de la connexion à laquelle un nouveau mot de passe doit être attribué.The current password of the login to which a new password will be assigned. Les mots de passe respectent la casse.Passwords are case-sensitive.

MUST_CHANGE s’applique uniquement aux connexions SQL ServerSQL Server.MUST_CHANGE Applies only to SQL ServerSQL Server logins. Si vous incluez cette option, SQL ServerSQL Server demande un mot de passe actualisé lors de la première utilisation de la connexion modifiée.If this option is included, SQL ServerSQL Server will prompt for an updated password the first time the altered login is used.

NAME = login_name correspond au nouveau nom de la connexion à renommer.NAME = login_name The new name of the login that is being renamed. 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 ServerSQL Server.If the login is a Windows login, the SID of the Windows principal corresponding to the new name must match the SID associated with the login in SQL ServerSQL Server. Le nouveau nom d’une connexion SQL ServerSQL Server ne peut pas contenir une barre oblique inverse (\).The new name of a SQL ServerSQL Server login cannot contain a backslash character (\).

CHECK_EXPIRATION = { ON | OFF } s’applique uniquement aux connexions SQL ServerSQL Server.CHECK_EXPIRATION = { ON | OFF } Applies only to SQL ServerSQL Server logins. Spécifie si les règles d'expiration des mots de passe doivent être imposées sur cette connexion.Specifies whether password expiration policy should be enforced on this login. La valeur par défaut est OFF.The default value is OFF.

CHECK_POLICY = { ON | OFF } s’applique uniquement aux connexions SQL ServerSQL Server.CHECK_POLICY = { ON | OFF } Applies only to SQL ServerSQL Server logins. Spécifie que les stratégies de mot de passe Windows de l'ordinateur sur lequel SQL ServerSQL Server s'exécute doivent être imposées sur cette connexion.Specifies that the Windows password policies of the computer on which SQL ServerSQL Server is running should be enforced on this login. La valeur par défaut est ON.The default value is ON.

UNLOCK s’applique uniquement aux connexions SQL ServerSQL Server.UNLOCK Applies only to SQL ServerSQL Server logins. Spécifie qu'une connexion verrouillée doit être déverrouillée.Specifies that a login that is locked out should be unlocked.

NotesRemarks

Lorsque CHECK_POLICY a la valeur ON, l'argument HASHED ne peut pas être utilisé.When CHECK_POLICY is set to ON, the HASHED argument cannot be used.

Lorsque CHECK_POLICY prend la valeur ON, le comportement suivant a lieu :When CHECK_POLICY is changed to ON, the following behavior occurs:

  • L'historique du mot de passe est initialisé avec la valeur du hachage de mot de passe actuel.The password history is initialized with the value of the current password hash.

    Lorsque CHECK_POLICY prend la valeur OFF, le comportement suivant a lieu :When CHECK_POLICY is changed to OFF, the following behavior occurs:

  • CHECK_EXPIRATION ON prend également la valeur OFF.CHECK_EXPIRATION is also set to OFF.

  • L'historique du mot de passe est supprimé.The password history is cleared.

  • La valeur de lockout_time est réinitialisée.The value of lockout_time is reset.

Si MUST_CHANGE est spécifié, CHECK_EXPIRATION et CHECK_POLICY doivent prendre la valeur ON.If MUST_CHANGE is specified, CHECK_EXPIRATION and CHECK_POLICY must be set to ON. Sans quoi, l'instruction échoue.Otherwise, the statement will fail.

Si CHECK_POLICY prend la valeur OFF, CHECK_EXPIRATION ne peut pas prendre la valeur ON.If CHECK_POLICY is set to OFF, CHECK_EXPIRATION cannot be set to ON. Si cette combinaison d'options est utilisée dans une instruction ALTER LOGIN, l'instruction échoue.An ALTER LOGIN statement that has this combination of options will fail.

Vous ne pouvez pas utiliser ALTER_LOGIN avec l'argument DISABLE pour refuser l'accès à un groupe Windows.You cannot use ALTER_LOGIN with the DISABLE argument to deny access to a Windows group. C'est la procédure normale.This is by design. Par exemple, ALTER_LOGIN [domain\group] DISABLE retourne le message d’erreur suivant :For example, ALTER_LOGIN [domain\group] DISABLE will return the following error message:

`"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 DatabaseSQL 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.In SQL DatabaseSQL Database, login data required to authenticate a connection and server-level firewall rules are temporarily cached in each database. Ce cache est régulièrement actualisé.This cache is periodically refreshed. 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.To force a refresh of the authentication cache and make sure that a database has the latest version of the logins table, execute DBCC FLUSHAUTHCACHE.

AutorisationsPermissions

Nécessite l'autorisation ALTER ANY LOGIN.Requires ALTER ANY LOGIN permission.

Si l'option CREDENTIAL est utilisée, exige également l'autorisation ALTER ANY CREDENTIAL.If the CREDENTIAL option is used, also requires ALTER ANY CREDENTIAL permission.

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 :If the login that is being changed is a member of the sysadmin fixed server role or a grantee of CONTROL SERVER permission, also requires CONTROL SERVER permission when making the following changes:

  • réinitialisation du mot de passe sans fournir l'ancien mot de passe ;Resetting the password without supplying the old password.
  • activation de MUST_CHANGE, CHECK_POLICY ou CHECK_EXPIRATION ;Enabling MUST_CHANGE, CHECK_POLICY, or CHECK_EXPIRATION.
  • modification du nom de la connexion ;Changing the login name.
  • activation ou désactivation de la connexion ;Enabling or disabling the login.
  • mappage de la connexion sur une autre information d'identification.Mapping the login to a different credential.

Un principal peut modifier le mot de passe, la langue et la base de données par défaut de sa propre connexion.A principal can change the password, default language, and default database for its own login.

ExemplesExamples

Ces exemples incluent également des exemples d’utilisation d’autres produits SQL.These examples also include examples for using other SQL products. Vérifiez les arguments pris en charge ci-dessus.Please see which arguments are supported above.

A.A. Activation d'une connexion désactivéeEnabling a disabled login

L'exemple suivant active la connexion Mary5.The following example enables the login Mary5.

ALTER LOGIN Mary5 ENABLE;

B.B. Modification du mot de passe d'une connexionChanging the password of a login

L'exemple suivant remplace le mot de passe de la connexion Mary5 par un mot de passe fort.The following example changes the password of login Mary5 to a strong password.

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

C.C. Modification du nom d'une connexionChanging the name of a login

L'exemple suivant remplace le nom de connexion Mary5 par John2.The following example changes the name of login Mary5 to John2.

ALTER LOGIN Mary5 WITH NAME = John2;

D.D. Mappage d'une connexion sur des informations d'identificationMapping a login to a credential

L'exemple suivant mappe la connexion John2 aux informations d'identification Custodian04.The following example maps the login John2 to the credential Custodian04.

ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;

E.E. Mappage d'une connexion à des informations d'identification de gestion de clés extensibleMapping a login to an Extensible Key Management credential

L'exemple suivant mappe la connexion Mary5 aux informations d'identification EKM EKMProvider1.The following example maps the login Mary5 to the EKM credential EKMProvider1.

S’applique à : SQL Server 2008SQL Server 2008 et versions ultérieures.Applies to: SQL Server 2008SQL Server 2008 and later.

ALTER LOGIN Mary5
ADD CREDENTIAL EKMProvider1;
GO

F.F. Déverrouillage d'une connexionUnlocking a login

Pour déverrouiller une connexion SQL ServerSQL Server, exécutez l'instruction suivante, en remplaçant **** par le mot de passe de compte souhaité.To unlock a SQL ServerSQL Server login, execute the following statement, replacing **** with the desired account password.

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.To unlock a login without changing the password, turn the check policy off and then on again.

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

G.G. Modification du mot de passe d'une connexion à l'aide de HASHEDChanging the password of a login using HASHED

L'exemple suivant modifie le mot de passe de la connexion TestUser en une valeur déjà hachée.The following example changes the password of the TestUser login to an already hashed value.

S’applique à : SQL Server 2008SQL Server 2008 et versions ultérieures.Applies to: SQL Server 2008SQL Server 2008 and later.

ALTER LOGIN TestUser WITH
PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED ;
GO

Voir aussiSee Also