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 d'authentification SQL Server, connexions Windows, connexions mappées par certificat et connexions mappées par clé asymétrique. Lorsque vous créez des 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. Pour obtenir un exemple, consultez l'exemple D plus loin dans cette rubrique. Les connexions d'authentification SQL Server sont de type sysname et doivent se conformer aux règles des Identificateurs et ne peuvent pas contenir de barre oblique inverse (\). Les connexions Windows peuvent contenir une barre oblique inverse (\).

  • 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 doit être déjà haché. Si cette option n'est pas sélectionnée, la chaîne 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à être présentes sur le serveur. Actuellement, cette option lie uniquement les informations d'identification à une connexion. Les informations d'identification ne peuvent pas être mappées à une connexion sa.

  • 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 définie sur 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.

Pour obtenir un script de transfert des connexions, consultez Comment transférer les connexions et les mots de passe entre des instances de SQL Server 2005 et SQL Server 2008https://support.microsoft.com/kb/918992.

Autorisations

ALTER ANY LOGIN sur le serveur ou appartenance au rôle serveur fixe securityadmin.

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 la base de données 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