CREATE LOGIN (Transact-SQL)

Crée une connexion SQL Server.

Icône Lien de rubriqueConventions de syntaxe Transact-SQL

Syntaxe

CREATE LOGIN loginName { WITH <option_list1> | FROM <sources> }

<option_list1> ::= 
    PASSWORD = { 'password' | hashed_password HASHED } [ MUST_CHANGE ]
    [ , <option_list2> [ ,... ] ]

<option_list2> ::=  
    SID = sid
    | DEFAULT_DATABASE = database    
    | DEFAULT_LANGUAGE = language
    | CHECK_EXPIRATION = { ON | OFF}
    | CHECK_POLICY = { ON | OFF}
    | CREDENTIAL = credential_name 

<sources> ::=
    WINDOWS [ WITH <windows_options>[ ,... ] ]
    | CERTIFICATE certname
    | ASYMMETRIC KEY asym_key_name

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

Arguments

  • loginName
    Spécifie le nom de la connexion créée. Il existe quatre types de connexions : connexions SQL Server, connexions Windows, connexions mappées par certificat et connexions mappées par clé asymétrique. Lors de la création de connexions mappées à partir d'un compte de domaine Windows, vous devez utiliser le nom d'ouverture de session de l'utilisateur antérieur à Windows 2000 en respectant le format [<Nom_domaine>\<Nom_connexion>]. Vous ne pouvez pas utiliser de nom UPN au format Nom_connexion@Nom_domaine. Consultez l'exemple D, plus loin dans cette rubrique.

  • PASSWORD ='password'
    S'applique uniquement aux connexions SQL Server. Spécifie le mot de passe de la connexion à créer. Il est recommandé d'utiliser un mot de passe fort. Pour plus d'informations, consultez Mots de passe forts.

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

  • HASHED
    S'applique uniquement aux connexions SQL Server. Spécifie que le mot de passe entré après l'argument PASSWORD est déjà haché. Si cette option n'est pas sélectionnée, la chaîne de caractères entrée comme mot de passe est hachée avant d'être stockée dans la base de données. Cette option doit être utilisée uniquement pour effectuer une migration de bases de données d'un serveur vers un autre. N'utilisez pas l'option HASHED pour créer des connexions.

  • MUST_CHANGE
    S'applique uniquement aux connexions SQL Server. Si vous incluez cette option, SQL Server demande à l'utilisateur un nouveau mot de passe lors de la première utilisation de la nouvelle connexion.

  • CREDENTIAL **=**credential_name
    Nom des informations d'identification à associer à la nouvelle connexion SQL Server. Les informations d'identification doivent déjà exister dans le serveur. À l'heure actuelle, cette option lie uniquement l'information d'authentification à une connexion. Cette option sera peut-être développée dans une version ultérieure de SQL Server.

  • SID = sid
    S'applique uniquement aux connexions SQL Server. Spécifie le GUID de la nouvelle connexion SQL Server. Si cette option n'est pas sélectionnée, SQL Server attribue automatiquement un GUID.

  • DEFAULT_DATABASE **=**database
    Spécifie la base de données par défaut à affecter à la connexion. Si cette option est omise, la base de données par défaut est master.

  • DEFAULT_LANGUAGE **=**language
    Spécifie la langue par défaut à affecter à la connexion. Si cette option est omise, la langue par défaut est la langue par défaut actuellement définie pour le serveur. Si la langue par défaut du serveur est changée par la suite, la langue par défaut de la connexion reste la même.

  • CHECK_EXPIRATION = { ON | OFF }
    S'applique uniquement aux connexions SQL Server. Spécifie si la stratégie d'expiration de mot de passe doit être imposée sur cette connexion. La valeur par défaut est OFF.

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

  • WINDOWS
    Spécifie que la connexion doit être mappée sur une connexion Windows.

  • CERTIFICATE certname
    Spécifie le nom d'un certificat à associer à cette connexion. Ce certificat doit déjà se trouver dans la base de données master.

  • ASYMMETRIC KEY asym_key_name
    Spécifie le nom d'une clé asymétrique à associer à cette connexion. Cette clé doit déjà se trouver dans la base de données master.

Notes

Les mots de passe respectent la casse.

Le hachage préalable des mots de passe est pris en charge uniquement lorsque vous créez des connexions SQL Server.

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

La combinaison CHECK_POLICY = OFF et CHECK_EXPIRATION = ON n'est pas prise en charge.

Lorsque CHECK_POLICY prend la valeur OFF, lockout_time est réinitialisé et CHECK_EXPIRATION prend la valeur OFF.

Important

CHECK_EXPIRATION et CHECK_POLICY sont imposés uniquement sur Windows Server 2003 et les versions ultérieures. Pour plus d'informations, consultez Stratégie de mot de passe.

Les connexions créées à partir de certificats ou de clés asymétriques ne sont utilisées que pour la signature de code. Elles ne peuvent pas être utilisées pour se connecter à SQL Server. Vous pouvez créer une connexion à partir d'un certificat ou d'une clé asymétrique uniquement lorsque ceux-ci existent déjà dans la base de données master.

Autorisations

Requiert l'autorisation ALTER ANY LOGIN ou ALTER LOGIN sur le serveur.

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

Exemples

A. Création d'une connexion avec un mot de passe

L'exemple suivant crée une connexion pour un ID d'utilisateur particulier et attribue un mot de passe. L'option MUST_CHANGE exige que les utilisateurs modifient ce mot de passe la première fois qu'ils se connectent au serveur.

CREATE LOGIN <loginName> WITH PASSWORD = '<enterStrongPasswordHere>' MUST_CHANGE;
GO

B. Création d'une connexion mappée sur une information d'identification

L'exemple suivant crée la connexion pour un utilisateur particulier, à l'aide de l'ID d'utilisateur. Cette connexion est mappée à l'information d'identification.

CREATE LOGIN <loginName> WITH PASSWORD = '<enterStrongPasswordHere>', 
    CREDENTIAL = <credentialName>;
GO

C. Création d'une connexion à partir d'un certificat

L'exemple suivant crée la connexion pour un ID d'utilisateur particulier à partir d'un certificat dans master.

USE MASTER;
CREATE CERTIFICATE <certificateName>
    WITH SUBJECT = '<loginName> certificate in master database',
    EXPIRY_DATE = '12/05/2025';
GO
CREATE LOGIN <loginName> FROM CERTIFICATE <certificateName>;
GO

D. Création d'une connexion à partir d'un compte de domaine Windows

L'exemple suivant crée une connexion à partir d'un compte de domaine Windows.

CREATE LOGIN [<domainName>\<loginName>] FROM WINDOWS;
GO