Partager via


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 rubriqueConventions 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'
    Nom de la connexion d'accès. L'argument login est du typesysname, sans valeur par défaut.

  • [ @passwd = ] 'password'
    Mot de passe de la connexion d'accès. L'argument password est du 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 d'accès (la base de données avec laquelle la connexion est établie en premier). L'argument database est du type sysname, avec master comme valeur par défaut.

  • [ @deflanguage = ] 'language'
    Langue par défaut de la connexion. language est du type sysname, avec NULL comme valeur par défaut. Si language n'est pas spécifié, l'argument language par défaut du nouveau nom de connexion d'accès est la langue par défaut du serveur.

  • [ @sid = ] 'sid'
    Numéro d'identification sécurisé (SID). L'argument sid est du 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 d'accès SQL Server ou lors du déplacement des connexions d'accès 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 du type varchar(20), et peut avoir 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 inversée (\) ; ê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 le nom de 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.

La procédure sp_droplogin ne peut pas être exécutée dans 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 AdventureWorkset la langue par défaut Bulgarian.

EXEC sp_addlogin 'TzTodorov', '709hLKH7chjfwv', 'AdventureWorks', 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 AdventureWorks, la langue par défaut, us_english et le SID 0x0123456789ABCDEF0123456789ABCDEF.

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