sp_addlogin (Transact-SQL)

Crée une nouvelle connexion SQL Server qui permet à un utilisateur de se connecter à une instance de SQL Server à l'aide de l'authentification SQL Server.

Important

Cette fonctionnalité sera supprimée dans une prochaine version de Microsoft SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité. Utilisez plutôt CREATE LOGIN.

Remarque relative à la sécuritéRemarque relative à la sécurité

Lorsque c'est possible, utilisez l'authentification Windows.

Icône Lien de rubrique Conventions de la syntaxe de Transact-SQL

Syntaxe

sp_addlogin [ @loginame = ] 'login' 
    [ , [ @passwd = ] 'password' ] 
    [ , [ @defdb = ] 'database' ] 
    [ , [ @deflanguage = ] 'language' ] 
    [ , [ @sid = ] sid ] 
    [ , [ @encryptopt = ] 'encryption_option' ] 
[;]

Arguments

  • [ @loginame= ] 'login'
    Est le nom du compte de connexion. login est de type sysname et n'a pas de valeur par défaut.

  • [ @passwd= ] 'password'
    Est le mot de passe de connexion. password est de type sysname, avec NULL comme valeur par défaut.

    Remarque relative à la sécuritéRemarque relative à la sécurité

    N'utilisez pas de mot de passe vide. Utilisez un mot de passe fort.

  • [ @defdb= ] 'database'
    Base de données par défaut de la connexion (la base de données avec laquelle la connexion est établie en premier). database est de type sysname, avec master comme valeur par défaut.

  • [ @deflanguage= ] 'language'
    Est la langue par défaut du compte de connexion. language est de type sysname, avec NULL comme valeur par défaut. Si language n'est pas spécifié, l'argument language par défaut de la nouvelle connexion est la langue par défaut actuelle du serveur.

  • [ @sid= ] 'sid'
    Correspond au numéro d'identification de sécurité. sid est de type varbinary(16), avec NULL comme valeur par défaut. Si sid a la valeur NULL, le système génère un SID pour la nouvelle connexion d'accès. Malgré l'utilisation d'un type de données varbinary, les valeurs autres que NULL doivent avoir une longueur de 16 octets exactement, et ne doivent pas déjà exister. La spécification des numéros d'identification sécurisés sid est utile, par exemple lors de la création de scripts de connexion SQL Server ou lors du déplacement des connexions d'un serveur vers un autre et que vous souhaitez qu'elles conservent le même numéro d'identification sécurisé sur différents serveurs.

  • [ @encryptopt= ] 'encryption_option'
    Spécifie si le mot de passe est transmis en texte clair ou sous forme de hachage du mot de passe en texte clair. Notez qu'il n'y a aucun chiffrement. Le mot « chiffrement » est utilisé dans cette description à des fins de compatibilité ascendante. Si un mot de passe en texte clair est transmis, il est haché. Le hachage est stocké. encryption_option est de type varchar(20) et peut prendre l'une des valeurs suivantes.

    Valeur

    Description

    NULL

    Le mot de passe est transmis en clair. Il s'agit du paramètre par défaut.

    skip_encryption

    Le mot de passe est déjà haché. Le moteur de base de données doit stocker la valeur avant de la hacher à nouveau.

    skip_encryption_old

    Le mot de passe fourni a été haché par une version précédente de SQL Server. Le moteur de base de données doit stocker la valeur avant de la hacher à nouveau. Option fournie pour des mises à niveau uniquement.

Valeurs des codes retournés

0 (succès) ou 1 (échec)

Notes

Les noms de connexion SQL Server peuvent compter de 1 à 128 caractères, comprenant des lettres, des symboles et des chiffres. Les noms de connexion peuvent comporter une barre oblique inverse (\), être un nom de connexion réservé, par exemple sa ou public, ou exister déjà ; ou encore avoir la valeur NULL ou se présenter sous la forme d'une chaîne vide ('').

Si le nom d'une base de données par défaut vous est fourni, vous pouvez vous connecter à la base de données spécifiée sans devoir exécuter l'instruction USE. Cependant, vous ne pouvez pas utiliser la base de données par défaut tant que son propriétaire ne vous y donne pas accès (en utilisant sp_adduser ou sp_addrolemember) ou sp_addrole.

Le numéro SID est un identificateur global unique (GUID) qui identifiera de manière unique la connexion dans le serveur.

La modification de la langue par défaut du serveur n'entraîne pas celle de la langue par défaut des noms de connexion existants. Pour modifier la langue par défaut du serveur, utilisez sp_configure.

L'utilisation de skip_encryption pour supprimer le hachage de mot de passe est utile si le mot de passe est déjà haché lorsque la connexion est ajouté à SQL Server. Si le mot de passe a été haché par une version précédente de SQL Server, utilisez skip_encryption_old.

sp_addlogin ne peut pas être exécuté au cours d'une transaction définie par l'utilisateur.

Le tableau suivant présente plusieurs procédures stockées qui sont utilisées avec sp_addlogin.

Procédure stockée

Description

sp_grantlogin

Ajoute un utilisateur ou un groupe Windows.

sp_password

Modifie le mot de passe d'un utilisateur.

sp_defaultdb

Modifie la base de données par défaut d'un utilisateur.

sp_defaultlanguage

Modifie la langue par défaut d'un utilisateur.

Autorisations

Nécessite l'autorisation ALTER ANY LOGIN.

Exemples

A.Création d'un nom de connexion SQL Server

L'exemple suivant crée une connexion SQL Server pour l'utilisateur Victoria, avec le mot de passe B1r12-36, sans spécifier de base de données par défaut.

EXEC sp_addlogin 'Victoria', 'B1r12-36';
GO

B.Création d'une connexion SQL Server qui a une base de données par défaut

L'exemple suivant crée une connexion SQL Server pour l'utilisateur Albert, avec le mot de passe B5432-3M6, et une base de données par défaut corporate.

EXEC sp_addlogin 'Albert', 'B5432-3M6', 'corporate';
GO

C.Création d'une connexion SQL Server qui a une autre langue par défaut

L'exemple suivant crée une connexion SQL Server pour l'utilisateur TzTodorov, avec le mot de passe 709hLKH7chjfwv, la base de données par défaut AdventureWorks2012 et la langue par défaut Bulgarian.

EXEC sp_addlogin 'TzTodorov', '709hLKH7chjfwv', 'AdventureWorks2012', N'български'

D.Création d'une connexion SQL Server qui a un SID spécifique

L'exemple suivant crée une connexion SQL Server pour l'utilisateur Michael, avec le mot de passe B548bmM%f6, la base de données par défaut AdventureWorks2012, la langue par défaut us_english et le SID 0x0123456789ABCDEF0123456789ABCDEF.

EXEC sp_addlogin 'Michael', 'B548bmM%f6', 'AdventureWorks2012', 'us_english', 0x0123456789ABCDEF0123456789ABCDEF

Voir aussi

Référence

CREATE LOGIN (Transact-SQL)

sp_droplogin (Transact-SQL)

sp_helpuser (Transact-SQL)

sp_revokelogin (Transact-SQL)

xp_logininfo (Transact-SQL)