CREATE LOGIN (Transact-SQL)CREATE LOGIN (Transact-SQL)

Crée une connexion pour des bases de données SQL Server, SQL Database, Azure Synapse Analytics ou Analytics Platform System.Creates a login for SQL Server, SQL Database, SQL Data Warehouse, or Analytics Platform System databases. Cliquez sur l’un des onglets suivants pour accéder à la syntaxe, aux arguments, aux remarques et aux exemples propres à chaque version.Click one of the following tabs for the syntax, arguments, remarks, permissions, and examples for a particular version.

CREATE LOGIN participe aux transactions.CREATE LOGIN participates in transactions. Si CREATE LOGIN est exécutée dans une transaction et que la transaction est restaurée, la création de la connexion est restaurée.If CREATE LOGIN is executed within a transaction and the transaction is rolled back, then login creation is rolled back. Si elle est exécutée dans une transaction, la connexion créée ne peut pas être utilisée jusqu’à ce que la transaction soit validée.If executed within a transaction, the created login cannot be used until the transaction is committed.

Pour plus d’informations sur les conventions de la syntaxe, consultez Conventions de la syntaxe Transact-SQL.For more information about the syntax conventions, see 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 Databasesingle database/elastic pool Instance managée
SQL Database

SQL Databasemanaged instance |Azure Synapse
Analytics
Azure Synapse
Analytics
|Analytics Platform
System (PDW)
Analytics PlatformSystem (PDW) ||||||

 

SQL ServerSQL Server

SyntaxeSyntax

-- Syntax for SQL Server
CREATE LOGIN login_name { 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

ArgumentsArguments

login_name Spécifie le nom de la connexion créée. login_name Specifies the name of the login that is created. Il existe quatre types de connexions : les connexions SQL Server, les connexions Windows, les connexions mappées par certificat et les connexions mappées par clé asymétrique.There are four types of logins: SQL Server logins, Windows logins, certificate-mapped logins, and asymmetric key-mapped logins. Quand 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 [<domainName>\<login_name>].When you are creating logins that are mapped from a Windows domain account, you must use the pre-Windows 2000 user logon name in the format [<domainName>\<login_name>]. Vous ne pouvez pas utiliser un nom UPN au format login_name@DomainName.You cannot use a UPN in the format login_name@DomainName. Consultez l’exemple D plus loin dans cet article.For an example, see example D later in this article. Les connexions d’authentification sont de type sysname et doivent se conformer aux règles applicables aux identificateurs et ne peuvent pas contenir de barre oblique inverse ( \ ).Authentication logins are type sysname and must conform to the rules for Identifiers and cannot contain a '\'. Les connexions Windows peuvent contenir une barre oblique inverse ( \ ).Windows logins can contain a ' '. Les connexions basées sur des utilisateurs Active Directory sont limités aux noms de moins de 21 caractères.Logins based on Active Directory users, are limited to names of fewer than 21 characters.

PASSWORD = 'password' S’applique uniquement aux connexions SQL Server.PASSWORD *='password' Applies to SQL Server logins only. Spécifie le mot de passe de la connexion à créer.Specifies the password for the login that is being created. Utilisez un mot de passe fort.Use a strong password. Pour plus d’informations, consultez Mots de passe forts et Stratégie de mot de passe.For more information, see Strong Passwords and Password Policy. À compter de SQL Server 2012 (11.x), les informations de mot de passe stockées sont calculées à l’aide de l’algorithme SHA-512 du mot de passe salé.Beginning with SQL Server 2012 (11.x), stored password information is calculated using SHA-512 of the salted password.

Les mots de passe respectent la casse.Passwords are case-sensitive. Les mots de passe doivent comporter au moins huit caractères, et ne peuvent pas dépasser 128 caractères.Passwords should always be at least eight characters long, and cannot exceed 128 characters. Les mots de passe peuvent inclure les caractères de A à Z, en minuscules ou en majuscules, les chiffres de 0 à 9 et la plupart des caractères non alphanumériques.Passwords can include a-z, A-Z, 0-9, and most non-alphanumeric characters. Les mots de passe ne peuvent pas contenir de guillemets simples, ni le login_name.Passwords cannot contain single quotes, or the login_name.

PASSWORD = hashed_password S’applique uniquement au mot clé HASHED.PASSWORD hashedpassword 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 Server.HASHED Applies to SQL 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, 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.If this option is not selected, the string entered as password is hashed before it is stored in the database. Cette option doit être utilisée uniquement pour effectuer une migration de bases de données d'un serveur vers un autre.This option should only be used for migrating databases from one server to another. N'utilisez pas l'option HASHED pour créer des connexions.Do not use the HASHED option to create new logins. L’option HASHED ne peut pas être utilisée avec des hachages créés par SQL 7 ou antérieur.The HASHED option cannot be used with hashes created by SQL 7 or earlier.

MUST_CHANGE S’applique uniquement aux connexions SQL Server.MUST_CHANGE Applies to SQL Server logins only. Si vous incluez cette option, SQL Server demande à l’utilisateur un nouveau mot de passe la première fois que la nouvelle connexion est utilisée.If this option is included, SQL Server prompts the user for a new password the first time the new login is used.

CREDENTIAL = credential_name Nom des informations d’identification à mapper sur le nouveau compte de connexion SQL Server.CREDENTIAL credentialname The name of a credential to be mapped to the new SQL Server login. Les informations d'identification doivent déjà exister sur le serveur.The credential must already exist in the server. À l'heure actuelle, cette option lie uniquement l'information d'authentification à une connexion.Currently this option only links the credential to a login. Les informations d’identification ne peuvent pas être mappées à la connexion de l’administrateur système.A credential cannot be mapped to the System Administrator (sa) login.

SID = sid Utilisé pour recréer une connexion.SID = sid Used to recreate a login. S’applique uniquement aux connexions d’authentification SQL Server, et non aux connexions d’authentification Windows.Applies to SQL Server authentication logins only, not Windows authentication logins. Spécifie le SID de la nouvelle connexion d’authentification SQL Server.Specifies the SID of the new SQL Server authentication login. Si cette option n’est pas sélectionnée, SQL Server attribue automatiquement un SID.If this option is not used, SQL Server automatically assigns a SID. La structure SID dépend de la version de SQL Server.The SID structure depends on the SQL Server version. SID de connexion SQL Server : valeur littérale 16 octets (binary(16) ) basée sur un GUID.SQL Server login SID: a 16 byte (binary(16)) literal value based on a GUID. Par exemple : SID = 0x14585E90117152449347750164BA00A7.For example, SID = 0x14585E90117152449347750164BA00A7.

DEFAULT_DATABASE = database Spécifie la base de données par défaut à attribuer à la connexion.DEFAULT_DATABASE database Specifies the default database to be assigned to the login. Si cette option est omise, la base de données par défaut est master.If this option is not included, the default database is set to master.

DEFAULT_LANGUAGE = language Spécifie la langue par défaut à attribuer à la connexion.DEFAULT_LANGUAGE language Specifies the default language to be assigned to the login. Si cette option est omise, la langue par défaut est la langue par défaut actuellement définie pour le serveur.If this option is not included, the default language is set to the current default language of the server. 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.If the default language of the server is later changed, the default language of the login remains unchanged.

CHECK_EXPIRATION = { ON | OFF } S’applique uniquement aux comptes de connexion SQL Server.CHECK_EXPIRATION { ON | OFF } Applies to SQL Server logins only. 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 comptes de connexion SQL Server.CHECK_POLICY { ON | OFF } Applies to SQL Server logins only. Spécifie que les stratégies de mot de passe Windows de l’ordinateur sur lequel SQL Server s’exécute doivent s’appliquer à cette connexion.Specifies that the Windows password policies of the computer on which SQL Server is running should be enforced on this login. La valeur par défaut est ON.The default value is ON.

Si la stratégie windows requiert des mots de passe forts, les mots de passe doivent avoir au moins trois des quatre caractéristiques suivantes :If the Windows policy requires strong passwords, passwords must contain at least three of the following four characteristics:

  • Une majuscule (A-Z).An uppercase character (A-Z).
  • Une minuscule (a-z).A lowercase character (a-z).
  • Un chiffre (0-9).A digit (0-9).
  • Un des caractères non alphanumériques, à savoir un espace, _, @, *, ^, % ! , $, # ou &.One of the non-alphanumeric characters, such as a space, _, @, *, ^, %, !, $, #, or &.

WINDOWS Spécifie que la connexion doit être mappée sur une connexion Windows.WINDOWS Specifies that the login be mapped to a Windows login.

CERTIFICATE certname Spécifie le nom d’un certificat à associer à cette connexion.CERTIFICATE certname Specifies the name of a certificate to be associated with this login. Ce certificat doit déjà se trouver dans la base de données master.This certificate must already occur in the master database.

ASYMMETRIC KEY asym_key_name Spécifie le nom d’une clé asymétrique à associer à cette connexion.ASYMMETRIC KEY asym_key_name Specifies the name of an asymmetric key to be associated with this login. Cette clé doit déjà se trouver dans la base de données master.This key must already occur in the master database.

NotesRemarks

  • Les mots de passe respectent la casse.Passwords are case-sensitive.
  • Le hachage préalable des mots de passe est pris en charge uniquement quand vous créez des connexions SQL Server.Prehashing of passwords is supported only when you are creating SQL Server logins.
  • 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.
  • La combinaison CHECK_POLICY = OFF et CHECK_EXPIRATION = ON n'est pas prise en charge.A combination of CHECK_POLICY = OFF and CHECK_EXPIRATION = ON is not supported.
  • Quand CHECK_POLICY a la valeur OFF, lockout_time est réinitialisé et CHECK_EXPIRATION prend la valeur OFF.When CHECK_POLICY is set to OFF, lockout_time is reset and CHECK_EXPIRATION is set to OFF.

Important

CHECK_EXPIRATION et CHECK_POLICY sont uniquement appliqués à Windows Server 2003 et ultérieur.CHECK_EXPIRATION and CHECK_POLICY are only enforced on Windows Server 2003 and later. Pour plus d'informations, consultez Password Policy.For more information, see Password Policy.

AutorisationsPermissions

  • Seuls les utilisateurs ayant l’autorisation ALTER ANY LOGIN sur le serveur ou appartenant au rôle serveur fixe securityadmin peuvent créer des connexions.Only users with ALTER ANY LOGIN permission on the server or membership in the securityadmin fixed server role can create logins. Pour plus d’informations, consultez Rôles de niveau serveur et ALTER SERVER ROLE.For more information, see Server-Level Roles and ALTER SERVER ROLE..
  • Si l'option CREDENTIAL est utilisée, l'autorisation ALTER ANY CREDENTIAL est également exigée sur le serveur.If the CREDENTIAL option is used, also requires ALTER ANY CREDENTIAL permission on the server.

Après la création d’une connexionAfter creating a login

Après la création d’une connexion, celle-ci peut se connecter à SQL Server, mais elle dispose uniquement des autorisations accordées au rôle public.After creating a login, the login can connect to SQL Server, but only has the permissions granted to the public role. Envisagez d’effectuer certaines des activités suivantes.Consider performing some of the following activities.

  • Pour vous connecter à une base de données, créez un utilisateur de base de données pour la connexion.To connect to a database, create a database user for the login. Pour plus d’informations, consultez CREATE USER.For more information, see CREATE USER.
  • Créez un rôle serveur défini par l’utilisateur à l’aide de CREATE SERVER ROLE.Create a user-defined server role by using CREATE SERVER ROLE. Utilisez ALTER SERVER ROLE ... ADD MEMBER pour ajouter la nouvelle connexion au rôle serveur défini par l’utilisateur. **** ADD MEMBER**** to add the new login to the user-defined server role. Pour plus d’informations, consultez CREATE SERVER ROLE et ALTER SERVER ROLE.For more information, see CREATE SERVER ROLE and ALTER SERVER ROLE.
  • Utilisez sp_addsrvrolemember pour ajouter la connexion à un rôle serveur fixe.Use sp_addsrvrolemember to add the login to a fixed server role. Pour plus d’informations, consultez Rôles de niveau serveur et sp_addsrvrolemember.For more information, see Server-Level Roles and sp_addsrvrolemember.
  • Utilisez l’instruction GRANT pour accorder des autorisations au niveau du serveur à la nouvelle connexion ou à un rôle qui contient la connexion.Use the GRANT statement, to grant server-level permissions to the new login or to a role containing the login. Pour plus d’informations, consultez GRANT.For more information, see GRANT.

ExemplesExamples

R.A. Création d'une connexion avec un mot de passeCreating a login with a password

L'exemple suivant crée une connexion pour un utilisateur particulier et attribue un mot de passe.The following example creates a login for a particular user and assigns a password.

CREATE LOGIN <login_name> WITH PASSWORD = '<enterStrongPasswordHere>';
GO

B.B. Création d’une connexion avec un mot de passe qui doit être changéCreating a login with a password that must be changed

L'exemple suivant crée une connexion pour un utilisateur particulier et attribue un mot de passe.The following example creates a login for a particular user and assigns a password. L'option MUST_CHANGE exige que les utilisateurs modifient ce mot de passe la première fois qu'ils se connectent au serveur.The MUST_CHANGE option requires users to change this password the first time they connect to the server.

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

CREATE LOGIN <login_name> WITH PASSWORD = '<enterStrongPasswordHere>'
    MUST_CHANGE, CHECK_EXPIRATION = ON;
GO

Notes

L'option MUST_CHANGE ne peut être utilisée lorsque l'option CHECK_EXPIRATION est désactivée.The MUST_CHANGE option cannot be used when CHECK_EXPIRATION is OFF.

C.C. Création d'une connexion mappée sur une information d'identificationCreating a login mapped to a credential

L'exemple suivant crée la connexion pour un utilisateur particulier, à l'aide de l'utilisateur.The following example creates the login for a particular user, using the user. Cette connexion est mappée à l'information d'identification.This login is mapped to the credential.

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

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

D.D. Création d'une connexion à partir d'un certificatCreating a login from a certificate

L’exemple suivant crée la connexion pour un utilisateur particulier à partir d’un certificat dans master.The following example creates login for a particular user from a certificate in master.

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

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

E.E. Création d'une connexion à partir d'un compte de domaine WindowsCreating a login from a Windows domain account

L'exemple suivant crée une connexion à partir d'un compte de domaine Windows.The following example creates a login from a Windows domain account.

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

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

F.F. Création d'une connexion à partir d'un SIDCreating a login from a SID

L’exemple suivant crée d’abord une connexion d’authentification SQL Server et détermine le SID de la connexion.The following example first creates a SQL Server authentication login and determines the SID of the login.

CREATE LOGIN TestLogin WITH PASSWORD = 'SuperSecret52&&';
SELECT name, sid FROM sys.sql_logins WHERE name = 'TestLogin';
GO

Ma requête retourne 0x241C11948AEEB749B0D22646DB1A19F2 comme SID.My query returns 0x241C11948AEEB749B0D22646DB1A19F2 as the SID. Votre requête retourne une valeur différente.Your query will return a different value. Les instructions suivantes suppriment la connexion, puis recréent la connexion.The following statements delete the login, and then recreate the login. Utilisez le SID de votre requête précédente.Use the SID from your previous query.

DROP LOGIN TestLogin;
GO

CREATE LOGIN TestLogin
WITH PASSWORD = 'SuperSecret52&&', SID = 0x241C11948AEEB749B0D22646DB1A19F2;

SELECT * FROM sys.sql_logins WHERE name = 'TestLogin';
GO

Voir aussiSee Also

SQL ServerSQL Server * Pool élastique/base de données unique
SQL Database *
SQL Databasesingle database/elastic pool Instance managée
SQL Database

SQL Databasemanaged instance |Azure Synapse
Analytics
Azure Synapse
Analytics
|Analytics Platform
System (PDW)
Analytics PlatformSystem (PDW)

 

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

SyntaxeSyntax

-- Syntax for Azure SQL Database
CREATE LOGIN login_name
 { WITH <option_list> }

<option_list> ::=
    PASSWORD = { 'password' }
    [ , SID = sid ]

ArgumentsArguments

login_name Spécifie le nom de la connexion créée. login_name Specifies the name of the login that is created. Le pool élastique/la base de données unique Azure SQL Database ne prend en charge que les connexions SQL.Azure SQL Database single database/elastic pool supports only SQL logins. Afin de créer des comptes pour les utilisateurs Azure Active Directory, utilisez l’instruction CREATE USER.To create accounts for Azure Active Directory users, use the CREATE USER statement.

PASSWORD =' password* ' Spécifie le mot de passe de la connexion SQL en cours de création.PASSWORD 'password' Specifies the password for the SQL login that is being created. Utilisez un mot de passe fort.Use a strong password. Pour plus d’informations, consultez Mots de passe forts et Stratégie de mot de passe.For more information, see Strong Passwords and Password Policy. Depuis SQL Server 2012 (11.x)SQL Server 2012 (11.x), les informations de mot de passe stockées sont calculées à l’aide de la valeur salt SHA-512 du mot de passe.Beginning with SQL Server 2012 (11.x)SQL Server 2012 (11.x), stored password information is calculated using SHA-512 of the salted password.

Les mots de passe respectent la casse.Passwords are case-sensitive. Les mots de passe doivent comporter au moins huit caractères, et ne peuvent pas dépasser 128 caractères.Passwords should always be at least eight characters long, and cannot exceed 128 characters. Les mots de passe peuvent inclure les caractères de A à Z, en minuscules ou en majuscules, les chiffres de 0 à 9 et la plupart des caractères non alphanumériques.Passwords can include a-z, A-Z, 0-9, and most non-alphanumeric characters. Les mots de passe ne peuvent pas contenir de guillemets simples, ni le login_name.Passwords cannot contain single quotes, or the login_name.

SID = sid Utilisé pour recréer une connexion.SID = sid Used to recreate a login. S’applique uniquement aux connexions d’authentification SQL Server, et non aux connexions d’authentification Windows.Applies to SQL Server authentication logins only, not Windows authentication logins. Spécifie le SID de la nouvelle connexion d’authentification SQL Server.Specifies the SID of the new SQL Server authentication login. Si cette option n’est pas sélectionnée, SQL Server attribue automatiquement un SID.If this option is not used, SQL Server automatically assigns a SID. La structure SID dépend de la version de SQL Server.The SID structure depends on the SQL Server version. Pour SQL Database, il s’agit d’un littéral 32 octets (binary(32) ) composé de 0x01060000000000640000000000000000 plus 16 octets représentant un GUID.For SQL Database, this is a 32 byte (binary(32)) literal consisting of 0x01060000000000640000000000000000 plus 16 bytes representing a GUID. Par exemple : SID = 0x0106000000000064000000000000000014585E90117152449347750164BA00A7.For example, SID = 0x0106000000000064000000000000000014585E90117152449347750164BA00A7.

NotesRemarks

ConnexionLogin

Connexions à une base de données SQLSQL Database Logins

L’instruction CREATE LOGIN doit être la seule instruction d’un traitement.The CREATE LOGIN statement must be the only statement in a batch.

Dans certaines méthodes de connexion à SQL Database, comme sqlcmd, vous devez ajouter le nom du serveur SQL Database au nom de connexion dans la chaîne de connexion à l’aide de la notation <connexion> @ <serveur> .In some methods of connecting to SQL Database, such as sqlcmd, you must append the SQL Database server name to the login name in the connection string by using the login> server> notation. Par exemple, si votre connexion est login1 et que le nom complet du serveur SQL Database est servername.database.windows.net, le paramètre username de la chaîne de connexion doit être login1@servername.For example, if your login is login1 and the fully qualified name of the SQL Database server is servername.database.windows.net, the username parameter of the connection string should be login1@servername. Puisque la longueur totale du paramètre username est de 128 caractères, login_name est limité à 127 caractères moins la longueur du nom du serveur.Because the total length of the username parameter is 128 characters, login_name is limited to 127 characters minus the length of the server name. Dans l'exemple, login_name peut contenir seulement 117 caractères car servername inclut 10 caractères.In the example, login_name can only be 117 characters long because servername is 10 characters.

Dans SQL Database, vous devez être connecté à la base de données master pour créer une connexion.In SQL Database, you must be connected to the master database to create a login.

Les règles SQL Server permettent de créer une connexion d’authentification SQL Server au format <nom_connexion>@<nom_serveur>.SQL Server rules allow you create a SQL Server authentication login in the format <loginname>@<servername>. Si votre serveur SQL DatabaseSQL Database est myazureserver et que l’identifiant de connexion est **myemail@live.com** , vous devez fournir votre identifiant de connexion comme suit : **myemail@live.com@myazureserver** .If your SQL DatabaseSQL Database server is myazureserver and your login is **myemail@live.com**, then you must supply your login as **myemail@live.com@myazureserver**.

Dans SQL 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 Database, login data required to authenticate a connection and server-level firewall rules is 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.

Pour plus d’informations sur les connexions SQL Database, consultez Gestion des bases de données et des connexions dans Azure SQL Database.For more information about SQL Database logins, see Managing Databases and Logins in Azure SQL Database.

AutorisationsPermissions

Seule la connexion principale au niveau du serveur (créée par le processus de configuration) ou les membres du rôle de base de données loginmanager dans la base de données master peuvent créer des connexions.Only the server-level principal login (created by the provisioning process) or members of the loginmanager database role in the master database can create new logins. Pour plus d’informations, consultez Rôles de niveau serveur et ALTER SERVER ROLE.For more information, see Server-Level Roles and ALTER SERVER ROLE..

ConnexionsLogins

  • Nécessite l’autorisation ALTER ANY LOGIN sur le serveur ou l’appartenance au rôle serveur fixe securityadmin.Must have ALTER ANY LOGIN permission on the server or membership in the securityadmin fixed server role. Seul un compte Azure Active Directory (Azure AD) avec l’autorisation ALTER ANY LOGIN sur le serveur ou l’appartenance à l’autorisation securityadmin peut exécuter cette commande.Only Azure Active Directory (Azure AD) account with ALTER ANY LOGIN permission on the server or membership in the securityadmin permission can execute this command
  • Doit être un membre d’Azure AD dans le même répertoire que celui utilisé pour le serveur Azure SQL DatabaseMust be a member of Azure AD within the same directory used for Azure SQL Database server

Après la création d’une connexionAfter creating a login

Après la création d’une connexion, celle-ci peut se connecter à SQL Database, mais elle dispose uniquement des autorisations accordées au rôle public.After creating a login, the login can connect to SQL Database but only has the permissions granted to the public role. Envisagez d’effectuer certaines des activités suivantes.Consider performing some of the following activities.

  • Pour vous connecter à une base de données, créez un utilisateur de base de données pour la connexion à cette base de données.To connect to a database, create a database user for the login in that database. Pour plus d’informations, consultez CREATE USER.For more information, see CREATE USER.
  • Pour accorder des autorisations à un utilisateur dans une base de données, utilisez ALTER SERVER ROLE ... Instruction ADD MEMBER pour ajouter l’utilisateur à l’un des rôles de base de données intégrés ou à un rôle personnalisé, ou pour accorder directement des autorisations à l’utilisateur à l’aide de l’instruction GRANT.To grant permissions to a user in a database, use the ALTER SERVER ROLE ... ADD MEMBER statement to add the user to one of the built-in database roles or a custom role, or grant permissions to the user directly using the GRANT statement. Pour plus d’informations, voir Rôles non administrateurs, Rôles d’administrateur au niveau du serveur supplémentaires, ALTER SERVER ROLE et l’instruction GRANT.For more information, see Non-administrator Roles, Additional server-level administrative roles, ALTER SERVER ROLE, and GRANT statement.
  • Pour accorder des autorisations à l’échelle du serveur, créez un utilisateur de base de données dans la base de données master et utilisez ALTER SERVER ROLE ... Instruction ADD MEMBER pour ajouter l’utilisateur à l’un des rôles serveur d’administration.To grant server-wide permissions, create a database user in the master database and use the ALTER SERVER ROLE ... ADD MEMBER statement to add the user to one of the administrative server roles. Pour plus d’informations, consultez Rôles de niveau serveur, ALTER SERVER ROLE et Rôles serveur.For more information, see Server-Level Roles and ALTER SERVER ROLE, and Server roles.
  • Utilisez l’instruction GRANT pour accorder des autorisations au niveau du serveur à la nouvelle connexion ou à un rôle qui contient la connexion.Use the GRANT statement, to grant server-level permissions to the new login or to a role containing the login. Pour plus d’informations, consultez GRANT.For more information, see GRANT.

ExemplesExamples

R.A. Création d'une connexion avec un mot de passeCreating a login with a password

L'exemple suivant crée une connexion pour un utilisateur particulier et attribue un mot de passe.The following example creates a login for a particular user and assigns a password.

CREATE LOGIN <login_name> WITH PASSWORD = '<enterStrongPasswordHere>';
GO

B.B. Création d'une connexion à partir d'un SIDCreating a login from a SID

L’exemple suivant crée d’abord une connexion d’authentification SQL Server et détermine le SID de la connexion.The following example first creates a SQL Server authentication login and determines the SID of the login.

CREATE LOGIN TestLogin WITH PASSWORD = 'SuperSecret52&&';

SELECT name, sid FROM sys.sql_logins WHERE name = 'TestLogin';
GO

Ma requête retourne 0x241C11948AEEB749B0D22646DB1A19F2 comme SID.My query returns 0x241C11948AEEB749B0D22646DB1A19F2 as the SID. Votre requête retourne une valeur différente.Your query will return a different value. Les instructions suivantes suppriment la connexion, puis recréent la connexion.The following statements delete the login, and then recreate the login. Utilisez le SID de votre requête précédente.Use the SID from your previous query.

DROP LOGIN TestLogin;
GO

CREATE LOGIN TestLogin
WITH PASSWORD = 'SuperSecret52&&', SID = 0x241C11948AEEB749B0D22646DB1A19F2;

SELECT * FROM sys.sql_logins WHERE name = 'TestLogin';
GO

Voir aussiSee Also

SQL ServerSQL Server Pool élastique/base de données unique
SQL Database
SQL Databasesingle database/elastic pool * Instance managée
SQL Database *

SQL Databasemanaged instance |Azure Synapse
Analytics
Azure Synapse
Analytics
|Analytics Platform
System (PDW)
Analytics PlatformSystem (PDW)

 

Azure SQL Database Managed InstanceAzure SQL Database managed instance

SyntaxeSyntax

-- Syntax for Azure SQL Database managed instance
CREATE LOGIN login_name [FROM EXTERNAL PROVIDER] { WITH <option_list> [,..]}

<option_list> ::=
    PASSWORD = {'password'}
    | SID = sid
    | DEFAULT_DATABASE = database
    | DEFAULT_LANGUAGE = language

ArgumentsArguments

login_name En cas d’utilisation avec la clause FROM EXTERNAL PROVIDER, la connexion spécifie le principal Azure Active Directory (AD), qui est un utilisateur, un groupe ou une application Azure AD. login_name When used with the FROM EXTERNAL PROVIDER clause, the login specifies the Azure Active Directory (AD) Principal, which is an Azure AD user, group, or application. Autrement, la connexion représente le nom de la connexion SQL qui a été créée.Otherwise, the login represents the name of the SQL login that was created.

FROM EXTERNAL PROVIDERFROM EXTERNAL PROVIDER
Spécifie que la connexion concerne l’authentification Azure AD.Specifies that the login is for Azure AD Authentication.

PASSWORD = 'password' Spécifie le mot de passe de la connexion SQL en cours de création.PASSWORD 'password' Specifies the password for the SQL login that is being created. Utilisez un mot de passe fort.Use a strong password. Pour plus d’informations, consultez Mots de passe forts et Stratégie de mot de passe.For more information, see Strong Passwords and Password Policy. Depuis SQL Server 2012 (11.x)SQL Server 2012 (11.x), les informations de mot de passe stockées sont calculées à l’aide de la valeur salt SHA-512 du mot de passe.Beginning with SQL Server 2012 (11.x)SQL Server 2012 (11.x), stored password information is calculated using SHA-512 of the salted password.

Les mots de passe respectent la casse.Passwords are case-sensitive. Les mots de passe doivent comporter au moins huit caractères, et ne peuvent pas dépasser 128 caractères.Passwords should always be at least eight characters long, and cannot exceed 128 characters. Les mots de passe peuvent inclure les caractères de A à Z, en minuscules ou en majuscules, les chiffres de 0 à 9 et la plupart des caractères non alphanumériques.Passwords can include a-z, A-Z, 0-9, and most non-alphanumeric characters. Les mots de passe ne peuvent pas contenir de guillemets simples, ni le login_name.Passwords cannot contain single quotes, or the login_name.

SID = sid Utilisé pour recréer une connexion.SID sid Used to recreate a login. S’applique uniquement aux connexions d’authentification SQL Server.Applies to SQL Server authentication logins only. Spécifie le SID de la nouvelle connexion d’authentification SQL Server.Specifies the SID of the new SQL Server authentication login. Si cette option n’est pas sélectionnée, SQL Server attribue automatiquement un SID.If this option is not used, SQL Server automatically assigns a SID. La structure SID dépend de la version de SQL Server.The SID structure depends on the SQL Server version. Pour SQL Database, il s’agit d’un littéral 32 octets (binary(32) ) composé de 0x01060000000000640000000000000000 plus 16 octets représentant un GUID.For SQL Database, this is a 32 byte (binary(32)) literal consisting of 0x01060000000000640000000000000000 plus 16 bytes representing a GUID. Par exemple : SID = 0x0106000000000064000000000000000014585E90117152449347750164BA00A7.For example, SID = 0x0106000000000064000000000000000014585E90117152449347750164BA00A7.

NotesRemarks

  • Les mots de passe respectent la casse.Passwords are case-sensitive.

  • Une nouvelle syntaxe est introduite pour la création de principaux au niveau du serveur mappés à des comptes Azure AD (FROM EXTERNAL PROVIDER)New syntax is introduced for the creation of server-level principals mapped to Azure AD accounts (FROM EXTERNAL PROVIDER)

  • Quand FROM EXTERNAL PROVIDER est spécifié :When FROM EXTERNAL PROVIDER is specified:

    • login_name doit représenter un compte Azure AD existant (utilisateur, groupe ou application) qui est accessible dans Azure AD par l’instance managée Azure SQL active.The login_name must represent an existing Azure AD account (user, group, or application) that is accessible in Azure AD by the current Azure SQL managed instance. Pour les principaux Azure AD, la syntaxe CREATE LOGIN exige les éléments suivants :For Azure AD principals, the CREATE LOGIN syntax requires:
      • UserPrincipalName de l’objet Azure AD pour les utilisateurs Azure AD.UserPrincipalName of the Azure AD object for Azure AD Users.
      • DisplayName de l’objet Azure AD pour les groupes Azure AD et les applications Azure AD.DisplayName of Azure AD object for Azure AD Groups and Azure AD Applications.
    • Vous ne pouvez pas utiliser l’option PASSWORD.The PASSWORD option cannot be used.
  • Par défaut, quand la clause FROM EXTERNAL PROVIDER est omise, une connexion SQL standard est créée.By default, when the FROM EXTERNAL PROVIDER clause is omitted, a regular SQL login is created.

  • Les connexions AD Azure sont visibles dans sys.server_principals, avec une valeur de colonne de type définie sur E et une valeur type_desc définie sur EXTERNAL_LOGIN pour les connexions mappées à des utilisateurs d’Azure AD, ou une valeur de colonne de type définie sur X et une valeur type_desc définie sur EXTERNAL_GROUP pour les connexions mappées à des groupes Azure AD.Azure AD logins are visible in sys.server_principals, with type column value set to E and type_desc set to EXTERNAL_LOGIN for logins mapped to Azure AD users, or type column value set to X and type_desc value set to EXTERNAL_GROUP for logins mapped to Azure AD groups.

  • 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 2008.For a script to transfer logins, see How to transfer the logins and the passwords between instances of SQL Server 2005 and SQL Server 2008.

  • La création d'une connexion active automatiquement la nouvelle connexion et accorde à la connexion l'autorisation CONNECT SQL au niveau du serveur.Creating a login automatically enables the new login and grants the login the server level CONNECT SQL permission.

Connexions et autorisationsLogins and Permissions

Seule la connexion principale au niveau du serveur (créée par le processus de provisionnement) ou les membres du rôle de base de données securityadmin ou sysadmin dans la base de données master peuvent créer des connexions.Only the server-level principal login (created by the provisioning process) or members of the securityadmin or sysadmin database role in the master database can create new logins. Pour plus d’informations, consultez Rôles de niveau serveur et ALTER SERVER ROLE.For more information, see Server-Level Roles and ALTER SERVER ROLE..

Par défaut, les autorisations standard accordées à une connexion Azure AD nouvellement créée dans master sont : CONNECT SQL et VIEW ANY DATABASE.By default, the standard permission granted to a newly created Azure AD login in master is:

Connexions à l’instance managée SQL DatabaseSQL Database managed instance Logins

  • Doit avoir l’autorisation ALTER ANY LOGIN sur le serveur ou l’appartenance au rôle serveur fixe securityadmin ou sysadmin.Must have ALTER ANY LOGIN permission on the server or membership in the one of the fixed server roles securityadmin or sysadmin. Seul un compte Azure Active Directory (Azure AD) avec l’autorisation ALTER ANY LOGIN sur le serveur ou l’appartenance à l’un de ces rôles peut exécuter la commande create.Only an Azure Active Directory (Azure AD) account with ALTER ANY LOGIN permission on the server or membership in one of those roles can execute the create command.
  • Si la connexion est un principal SQL, seules les connexions faisant partie du rôle sysadmin peuvent utiliser la commande create afin de créer des connexions pour un compte Azure AD.If the login is a SQL Principal, only logins that are part of the sysadmin role can use the create command to create logins for an Azure AD account.
  • Doit être un membre d’Azure AD dans le même répertoire que celui utilisé pour l’instance managée Azure SQL.Must be a member of Azure AD within the same directory used for Azure SQL managed instance.

Après la création d’une connexionAfter creating a login

Notes

L’administrateur Azure AD de la fonctionnalité d’instance qui a été géré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é d’administration Azure AD pour MI.For more information, see New Azure AD admin functionality for MI.

Après la création d’une connexion, celle-ci peut se connecter à une instance managée SQL Database, mais elle dispose uniquement des autorisations accordées au rôle public.After creating a login, the login can connect to a SQL Database managed instance, but only has the permissions granted to the public role. Envisagez d’effectuer certaines des activités suivantes.Consider performing some of the following activities.

  • Pour créer un utilisateur Azure AD à partir d’une connexion Azure AD, consultez CREATE USER.To create an Azure AD user from an Azure AD login, see CREATE USER.
  • Pour accorder des autorisations à un utilisateur dans une base de données, utilisez ALTER SERVER ROLE ... Instruction ADD MEMBER pour ajouter l’utilisateur à l’un des rôles de base de données intégrés ou à un rôle personnalisé, ou pour accorder directement des autorisations à l’utilisateur à l’aide de l’instruction GRANT.To grant permissions to a user in a database, use the ALTER SERVER ROLE ... ADD MEMBER statement to add the user to one of the built-in database roles or a custom role, or grant permissions to the user directly using the GRANT statement. Pour plus d’informations, voir Rôles non administrateurs, Rôles d’administrateur au niveau du serveur supplémentaires, ALTER SERVER ROLE et l’instruction GRANT.For more information, see Non-administrator Roles, Additional server-level administrative roles, ALTER SERVER ROLE, and GRANT statement.
  • Pour accorder des autorisations à l’échelle du serveur, créez un utilisateur de base de données dans la base de données master et utilisez ALTER SERVER ROLE ... Instruction ADD MEMBER pour ajouter l’utilisateur à l’un des rôles serveur d’administration.To grant server-wide permissions, create a database user in the master database and use the ALTER SERVER ROLE ... ADD MEMBER statement to add the user to one of the administrative server roles. Pour plus d’informations, consultez Rôles de niveau serveur, ALTER SERVER ROLE et Rôles serveur.For more information, see Server-Level Roles and ALTER SERVER ROLE, and Server roles.
    • Utilisez la commande suivante pour ajouter le rôle sysadmin à une connexion Azure AD : ALTER SERVER ROLE sysadmin ADD MEMBER [AzureAD_Login_name]Use the following command to add the sysadmin role to an Azure AD login: ALTER SERVER ROLE sysadmin ADD MEMBER [AzureAD_Login_name]
  • Utilisez l’instruction GRANT pour accorder des autorisations au niveau du serveur à la nouvelle connexion ou à un rôle qui contient la connexion.Use the GRANT statement, to grant server-level permissions to the new login or to a role containing the login. Pour plus d’informations, consultez GRANT.For more information, see GRANT.

LimitesLimitations

  • La définition d’une connexion Azure AD mappée à un groupe Azure AD en tant que propriétaire de base de données n’est pas prise en charge.Setting an Azure AD login mapped to an Azure AD group as the database owner is not supported.
  • L’emprunt d’identité des principaux au niveau du serveur Azure AD à l’aide d’autres principaux Azure AD est pris en charge, par exemple avec la clause EXECUTE AS.Impersonation of Azure AD server-level principals using other Azure AD principals is supported, such as the EXECUTE AS clause.
  • Seuls les principaux (connexions) au niveau du serveur SQL titulaires du rôle sysadmin peuvent exécuter les opérations suivantes ciblant des principaux Azure AD :Only SQL server-level principals (logins) that are part of the sysadmin role can execute the following operations targeting Azure AD principals:
    • EXECUTE AS USEREXECUTE AS USER
    • EXECUTE AS LOGINEXECUTE AS LOGIN
  • Les utilisateurs (invités) externes importés à partir d’un autre annuaire Azure AD ne peuvent pas être configurés directement comme administrateur Azure AD pour instance managée.External (guest) users imported from another Azure AD directory cannot be directly configured as an Azure AD admin for managed instance. Joignez plutôt l’utilisateur externe à un groupe de sécurité Azure AD et configurez le groupe comme administrateur d’instance.Instead, join external user to an Azure AD security-enabled group and configure the group as the instance administrator.

ExemplesExamples

R.A. Création d'une connexion avec un mot de passeCreating a login with a password

L'exemple suivant crée une connexion pour un utilisateur particulier et attribue un mot de passe.The following example creates a login for a particular user and assigns a password.

CREATE LOGIN <login_name> WITH PASSWORD = '<enterStrongPasswordHere>';
GO

B.B. Création d'une connexion à partir d'un SIDCreating a login from a SID

L’exemple suivant crée d’abord une connexion d’authentification SQL Server et détermine le SID de la connexion.The following example first creates a SQL Server authentication login and determines the SID of the login.

CREATE LOGIN TestLogin WITH PASSWORD = 'SuperSecret52&&';

SELECT name, sid FROM sys.sql_logins WHERE name = 'TestLogin';
GO

Ma requête retourne 0x241C11948AEEB749B0D22646DB1A19F2 comme SID.My query returns 0x241C11948AEEB749B0D22646DB1A19F2 as the SID. Votre requête retourne une valeur différente.Your query will return a different value. Les instructions suivantes suppriment la connexion, puis recréent la connexion.The following statements delete the login, and then recreate the login. Utilisez le SID de votre requête précédente.Use the SID from your previous query.

DROP LOGIN TestLogin;
GO

CREATE LOGIN TestLogin
WITH PASSWORD = 'SuperSecret52&&', SID = 0x241C11948AEEB749B0D22646DB1A19F2;

SELECT * FROM sys.sql_logins WHERE name = 'TestLogin';
GO

C.C. Création d’une connexion pour un compte Azure AD localCreating a login for a local Azure AD account

L’exemple suivant crée une connexion pour le compte Azure AD joe@myaad.onmicrosoft.com qui existe dans l’annuaire Azure AD de myaad.The following example creates a login for the Azure AD account joe@myaad.onmicrosoft.com that exists in the Azure AD of myaad.

CREATE LOGIN [joe@myaad.onmicrosoft.com] FROM EXTERNAL PROVIDER
GO

D.D. Création d’une connexion pour un compte Azure AD fédéréCreating a login for a federated Azure AD account

L’exemple suivant crée une connexion pour un compte Azure AD fédéré bob@contoso.com qui existe dans l’annuaire Azure AD nommé contoso.The following example creates a login for a federated Azure AD account bob@contoso.com that exists in the Azure AD called contoso. L’utilisateur bob peut également être un utilisateur invité.User bob can also be a guest user.

CREATE LOGIN [bob@contoso.com] FROM EXTERNAL PROVIDER
GO

E.E. Création d’une connexion pour un groupe Azure ADCreating a login for an Azure AD group

L’exemple suivant crée une connexion pour le groupe Azure AD mygroup qui existe dans l’annuaire Azure AD de myaad.The following example creates a login for the Azure AD group mygroup that exists in the Azure AD of myaad

CREATE LOGIN [mygroup] FROM EXTERNAL PROVIDER
GO

F.F. Création d’une connexion pour une application Azure ADCreating a login for an Azure AD application

L’exemple suivant crée une connexion pour l’application Azure AD myapp qui existe dans l’annuaire Azure AD de myaad.The following example creates a login for the Azure AD application myapp that exists in the Azure AD of myaad

CREATE LOGIN [myapp] FROM EXTERNAL PROVIDER

G.G. Vérifier les connexions nouvellement ajoutéesCheck newly added logins

Pour vérifier la connexion qui vient d’être ajoutée, exécutez la commande T-SQL suivante :To check the newly added login, execute the following T-SQL command:

SELECT *
FROM sys.server_principals;
GO

Voir aussiSee Also

SQL ServerSQL Server Pool élastique/base de données unique
SQL Database
SQL Databasesingle database/elastic pool Instance managée
SQL Database

SQL Databasemanaged instance |* Azure Synapse
Analytics *
* Azure Synapse
Analytics *
|Analytics Platform
System (PDW)
Analytics PlatformSystem (PDW)

 

Azure Synapse AnalyticsAzure Synapse Analytics

SyntaxeSyntax

-- Syntax for Azure Synapse Analytics
CREATE LOGIN login_name
 { WITH <option_list> }

<option_list> ::=
    PASSWORD = { 'password' }
    [ , SID = sid ]

ArgumentsArguments

login_name Spécifie le nom de la connexion créée. login_name Specifies the name of the login that is created. SQL Analytics dans Azure Synapse prend uniquement en charge les connexions SQL.SQL Analytics in Azure Synapse supports only SQL logins. Afin de créer des comptes pour les utilisateurs Azure Active Directory, utilisez l’instruction CREATE USER.To create accounts for Azure Active Directory users, use the CREATE USER statement.

PASSWORD =' password* ' Spécifie le mot de passe de la connexion SQL en cours de création.PASSWORD 'password' Specifies the password for the SQL login that is being created. Utilisez un mot de passe fort.Use a strong password. Pour plus d’informations, consultez Mots de passe forts et Stratégie de mot de passe.For more information, see Strong Passwords and Password Policy. Depuis SQL Server 2012 (11.x)SQL Server 2012 (11.x), les informations de mot de passe stockées sont calculées à l’aide de la valeur salt SHA-512 du mot de passe.Beginning with SQL Server 2012 (11.x)SQL Server 2012 (11.x), stored password information is calculated using SHA-512 of the salted password.

Les mots de passe respectent la casse.Passwords are case-sensitive. Les mots de passe doivent comporter au moins huit caractères, et ne peuvent pas dépasser 128 caractères.Passwords should always be at least eight characters long, and cannot exceed 128 characters. Les mots de passe peuvent inclure les caractères de A à Z, en minuscules ou en majuscules, les chiffres de 0 à 9 et la plupart des caractères non alphanumériques.Passwords can include a-z, A-Z, 0-9, and most non-alphanumeric characters. Les mots de passe ne peuvent pas contenir de guillemets simples, ni le login_name.Passwords cannot contain single quotes, or the login_name.

SID = sid Utilisé pour recréer une connexion.SID = sid Used to recreate a login. S’applique uniquement aux connexions d’authentification SQL Server, et non aux connexions d’authentification Windows.Applies to SQL Server authentication logins only, not Windows authentication logins. Spécifie le SID de la nouvelle connexion d’authentification SQL Server.Specifies the SID of the new SQL Server authentication login. Si cette option n’est pas sélectionnée, SQL Server attribue automatiquement un SID.If this option is not used, SQL Server automatically assigns a SID. La structure SID dépend de la version de SQL Server.The SID structure depends on the SQL Server version. Pour SQL Analytics, il s’agit d’un littéral 32 octets (binary(32) ) composé de 0x01060000000000640000000000000000 plus 16 octets représentant un GUID.For SQL Database, this is a 32 byte (binary(32)) literal consisting of 0x01060000000000640000000000000000 plus 16 bytes representing a GUID. Par exemple : SID = 0x0106000000000064000000000000000014585E90117152449347750164BA00A7.For example, SID = 0x0106000000000064000000000000000014585E90117152449347750164BA00A7.

NotesRemarks

ConnexionsLogins

L’instruction CREATE LOGIN doit être la seule instruction d’un traitement.The CREATE LOGIN statement must be the only statement in a batch.

Lorsque vous vous connectez à Azure Synapse en utilisant des outils comme sqlcmd, vous devez ajouter le nom du serveur SQL Analytics au nom de connexion dans la chaîne de connexion à l’aide de la notation <connexion> @ <serveur> .In some methods of connecting to SQL Database, such as sqlcmd, you must append the SQL Database server name to the login name in the connection string by using the login> server> notation. Par exemple, si votre connexion est login1 et que le nom complet du serveur SQL Analytics est servername.database.windows.net, le paramètre username de la chaîne de connexion doit être login1@servername.For example, if your login is login1 and the fully qualified name of the SQL Database server is servername.database.windows.net, the username parameter of the connection string should be login1@servername. Puisque la longueur totale du paramètre username est de 128 caractères, login_name est limité à 127 caractères moins la longueur du nom du serveur.Because the total length of the username parameter is 128 characters, login_name is limited to 127 characters minus the length of the server name. Dans l'exemple, login_name peut contenir seulement 117 caractères car servername inclut 10 caractères.In the example, login_name can only be 117 characters long because servername is 10 characters.

Pour créer une connexion, vous devez être connecté à la base de données master.To create a login, you must be connected to the master database.

Les règles SQL Server permettent de créer une connexion d’authentification SQL Server au format <nom_connexion>@<nom_serveur>.SQL Server rules allow you create a SQL Server authentication login in the format <loginname>@<servername>. Si votre serveur SQL DatabaseSQL Database est myazureserver et que l’identifiant de connexion est **myemail@live.com** , vous devez fournir votre identifiant de connexion comme suit : **myemail@live.com@myazureserver** .If your SQL DatabaseSQL Database server is myazureserver and your login is **myemail@live.com**, then you must supply your login as **myemail@live.com@myazureserver**.

Les données de connexion exigées pour authentifier une connexion et les règles de pare-feu au niveau du serveur sont temporairement mises en cache dans chaque base de données.In SQL Database, login data required to authenticate a connection and server-level firewall rules is 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.

Pour plus d'informations sur les connexions , consultez Gestion des bases de données et des connexions.For more information about logins, see Managing Databases and Logins in Windows Azure SQL Database.

AutorisationsPermissions

Seule la connexion principale au niveau du serveur (créée par le processus de configuration) ou les membres du rôle de base de données loginmanager dans la base de données master peuvent créer des connexions.Only the server-level principal login (created by the provisioning process) or members of the loginmanager database role in the master database can create new logins. Pour plus d’informations, consultez Rôles de niveau serveur et ALTER SERVER ROLE.For more information, see Server-Level Roles and ALTER SERVER ROLE..

Après la création d’une connexionAfter creating a login

Après la création d’une connexion, celle-ci peut se connecter à Azure Synapse, mais elle dispose uniquement des autorisations accordées au rôle public.After creating a login, the login can connect to SQL Server, but only has the permissions granted to the public role. Envisagez d’effectuer certaines des activités suivantes.Consider performing some of the following activities.

  • Pour vous connecter à une base de données, créez un utilisateur de base de données pour la connexion.To connect to a database, create a database user for the login. Pour plus d’informations, consultez CREATE USER.For more information, see CREATE USER.

  • Pour accorder des autorisations à un utilisateur dans une base de données, utilisez ALTER SERVER ROLE ... Instruction ADD MEMBER pour ajouter l’utilisateur à l’un des rôles de base de données intégrés ou à un rôle personnalisé, ou pour accorder directement des autorisations à l’utilisateur à l’aide de l’instruction GRANT.To grant permissions to a user in a database, use the ALTER SERVER ROLE ... ADD MEMBER statement to add the user to one of the built-in database roles or a custom role, or grant permissions to the user directly using the GRANT statement. Pour plus d’informations, voir Rôles non administrateurs, Rôles d’administrateur au niveau du serveur supplémentaires, ALTER SERVER ROLE et l’instruction GRANT.For more information, see Non-administrator Roles, Additional server-level administrative roles, ALTER SERVER ROLE, and GRANT statement.

  • Pour accorder des autorisations à l’échelle du serveur, créez un utilisateur de base de données dans la base de données master et utilisez ALTER SERVER ROLE ... Instruction ADD MEMBER pour ajouter l’utilisateur à l’un des rôles serveur d’administration.To grant server-wide permissions, create a database user in the master database and use the ALTER SERVER ROLE ... ADD MEMBER statement to add the user to one of the administrative server roles. Pour plus d’informations, consultez Rôles de niveau serveur, ALTER SERVER ROLE et Rôles serveur.For more information, see Server-Level Roles and ALTER SERVER ROLE, and Server roles.

  • Utilisez l’instruction GRANT pour accorder des autorisations au niveau du serveur à la nouvelle connexion ou à un rôle qui contient la connexion.Use the GRANT statement, to grant server-level permissions to the new login or to a role containing the login. Pour plus d’informations, consultez GRANT.For more information, see GRANT.

ExemplesExamples

R.A. Création d'une connexion avec un mot de passeCreating a login with a password

L'exemple suivant crée une connexion pour un utilisateur particulier et attribue un mot de passe.The following example creates a login for a particular user and assigns a password.

CREATE LOGIN <login_name> WITH PASSWORD = '<enterStrongPasswordHere>';
GO

B.B. Création d'une connexion à partir d'un SIDCreating a login from a SID

L’exemple suivant crée d’abord une connexion d’authentification SQL Server et détermine le SID de la connexion.The following example first creates a SQL Server authentication login and determines the SID of the login.

CREATE LOGIN TestLogin WITH PASSWORD = 'SuperSecret52&&';

SELECT name, sid FROM sys.sql_logins WHERE name = 'TestLogin';
GO

Ma requête retourne 0x241C11948AEEB749B0D22646DB1A19F2 comme SID.My query returns 0x241C11948AEEB749B0D22646DB1A19F2 as the SID. Votre requête retourne une valeur différente.Your query will return a different value. Les instructions suivantes suppriment la connexion, puis recréent la connexion.The following statements delete the login, and then recreate the login. Utilisez le SID de votre requête précédente.Use the SID from your previous query.

DROP LOGIN TestLogin;
GO

CREATE LOGIN TestLogin
WITH PASSWORD = 'SuperSecret52&&', SID = 0x241C11948AEEB749B0D22646DB1A19F2;

SELECT * FROM sys.sql_logins WHERE name = 'TestLogin';
GO

Voir aussiSee Also

SQL ServerSQL Server Pool élastique/base de données unique
SQL Database
SQL Databasesingle database/elastic pool Instance managée
SQL Database

SQL Databasemanaged instance |Azure Synapse
Analytics
Azure Synapse
Analytics
|* Analytics
Platform System (PDW) *

AnalyticsPlatform System (PDW)

 

Système de la plateforme d'analyseAnalytics Platform System

SyntaxeSyntax

-- Syntax for Analytics Platform System
CREATE LOGIN loginName { WITH <option_list1> | FROM WINDOWS }

<option_list1> ::=
    PASSWORD = { 'password' } [ MUST_CHANGE ]
    [ , <option_list> [ ,... ] ]

<option_list> ::=
      CHECK_EXPIRATION = { ON | OFF}
    | CHECK_POLICY = { ON | OFF}

ArgumentsArguments

login_name Spécifie le nom de la connexion créée. login_name Specifies the name of the login that is created. Il existe quatre types de connexions : les connexions SQL Server, les connexions Windows, les connexions mappées par certificat et les connexions mappées par clé asymétrique.There are four types of logins: SQL Server logins, Windows logins, certificate-mapped logins, and asymmetric key-mapped logins. Quand 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 [<domainName>\<login_name>].When you are creating logins that are mapped from a Windows domain account, you must use the pre-Windows 2000 user logon name in the format [<domainName>\<login_name>]. Vous ne pouvez pas utiliser un nom UPN au format login_name@DomainName.You cannot use a UPN in the format login_name@DomainName. Consultez l’exemple D plus loin dans cet article.For an example, see example D later in this article. Les connexions d’authentification sont de type sysname et doivent se conformer aux règles applicables aux identificateurs et ne peuvent pas contenir de barre oblique inverse ( \ ).Authentication logins are type sysname and must conform to the rules for Identifiers and cannot contain a '\'. Les connexions Windows peuvent contenir une barre oblique inverse ( \ ).Windows logins can contain a ' '. Les connexions basées sur des utilisateurs Active Directory sont limités aux noms de moins de 21 caractères.Logins based on Active Directory users, are limited to names of fewer than 21 characters.

PASSWORD =' password' S’applique uniquement aux connexions SQL Server.PASSWORD *='password' Applies to SQL Server logins only. Spécifie le mot de passe de la connexion à créer.Specifies the password for the login that is being created. Utilisez un mot de passe fort.Use a strong password. Pour plus d’informations, consultez Mots de passe forts et Stratégie de mot de passe.For more information, see Strong Passwords and Password Policy. À compter de SQL Server 2012 (11.x), les informations de mot de passe stockées sont calculées à l’aide de l’algorithme SHA-512 du mot de passe salé.Beginning with SQL Server 2012 (11.x), stored password information is calculated using SHA-512 of the salted password.

Les mots de passe respectent la casse.Passwords are case-sensitive. Les mots de passe doivent comporter au moins huit caractères, et ne peuvent pas dépasser 128 caractères.Passwords should always be at least eight characters long, and cannot exceed 128 characters. Les mots de passe peuvent inclure les caractères de A à Z, en minuscules ou en majuscules, les chiffres de 0 à 9 et la plupart des caractères non alphanumériques.Passwords can include a-z, A-Z, 0-9, and most non-alphanumeric characters. Les mots de passe ne peuvent pas contenir de guillemets simples, ni le login_name.Passwords cannot contain single quotes, or the login_name.

MUST_CHANGE S’applique uniquement aux connexions SQL Server.MUST_CHANGE Applies to SQL Server logins only. Si vous incluez cette option, SQL Server demande à l’utilisateur un nouveau mot de passe la première fois que la nouvelle connexion est utilisée.If this option is included, SQL Server prompts the user for a new password the first time the new login is used.

CHECK_EXPIRATION = { ON | OFF } S’applique uniquement aux comptes de connexion SQL Server.CHECK_EXPIRATION { ON | OFF } Applies to SQL Server logins only. 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 comptes de connexion SQL Server.CHECK_POLICY { ON | OFF } Applies to SQL Server logins only. Spécifie que les stratégies de mot de passe Windows de l’ordinateur sur lequel SQL Server s’exécute doivent s’appliquer à cette connexion.Specifies that the Windows password policies of the computer on which SQL Server is running should be enforced on this login. La valeur par défaut est ON.The default value is ON.

Si la stratégie windows requiert des mots de passe forts, les mots de passe doivent avoir au moins trois des quatre caractéristiques suivantes :If the Windows policy requires strong passwords, passwords must contain at least three of the following four characteristics:

  • Une majuscule (A-Z).An uppercase character (A-Z).
  • Une minuscule (a-z).A lowercase character (a-z).
  • Un chiffre (0-9).A digit (0-9).
  • Un des caractères non alphanumériques, à savoir un espace, _, @, *, ^, % ! , $, # ou &.One of the non-alphanumeric characters, such as a space, _, @, *, ^, %, !, $, #, or &.

WINDOWS Spécifie que la connexion doit être mappée sur une connexion Windows.WINDOWS Specifies that the login be mapped to a Windows login.

NotesRemarks

  • Les mots de passe respectent la casse.Passwords are case-sensitive.
  • 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.
  • La combinaison CHECK_POLICY = OFF et CHECK_EXPIRATION = ON n'est pas prise en charge.A combination of CHECK_POLICY = OFF and CHECK_EXPIRATION = ON is not supported.
  • Quand CHECK_POLICY a la valeur OFF, lockout_time est réinitialisé et CHECK_EXPIRATION prend la valeur OFF.When CHECK_POLICY is set to OFF, lockout_time is reset and CHECK_EXPIRATION is set to OFF.

Important

CHECK_EXPIRATION et CHECK_POLICY sont uniquement appliqués à Windows Server 2003 et ultérieur.CHECK_EXPIRATION and CHECK_POLICY are only enforced on Windows Server 2003 and later. Pour plus d'informations, consultez Password Policy.For more information, see Password Policy.

AutorisationsPermissions

Seuls les utilisateurs ayant l’autorisation ALTER ANY LOGIN sur le serveur ou appartenant au rôle serveur fixe securityadmin peuvent créer des connexions.Only users with ALTER ANY LOGIN permission on the server or membership in the securityadmin fixed server role can create logins. Pour plus d’informations, consultez Rôles de niveau serveur et ALTER SERVER ROLE.For more information, see Server-Level Roles and ALTER SERVER ROLE..

Après la création d’une connexionAfter creating a login

Après la création d’une connexion, celle-ci peut se connecter à Azure Synapse Analytics, mais elle dispose uniquement des autorisations accordées au rôle public.After creating a login, the login can connect to the or but only has the permissions granted to the public role. Envisagez d’effectuer certaines des activités suivantes.Consider performing some of the following activities.

  • Pour vous connecter à une base de données, créez un utilisateur de base de données pour la connexion.To connect to a database, create a database user for the login. Pour plus d’informations, consultez CREATE USER.For more information, see CREATE USER.
  • Créez un rôle serveur défini par l’utilisateur à l’aide de CREATE SERVER ROLE.Create a user-defined server role by using CREATE SERVER ROLE. Utilisez ALTER SERVER ROLE ... ADD MEMBER pour ajouter la nouvelle connexion au rôle serveur défini par l’utilisateur. **** ADD MEMBER**** to add the new login to the user-defined server role. Pour plus d’informations, consultez CREATE SERVER ROLE et ALTER SERVER ROLE.For more information, see CREATE SERVER ROLE and ALTER SERVER ROLE.
  • Utilisez sp_addsrvrolemember pour ajouter la connexion à un rôle serveur fixe.Use sp_addsrvrolemember to add the login to a fixed server role. Pour plus d’informations, consultez Rôles de niveau serveur et sp_addsrvrolemember.For more information, see Server-Level Roles and sp_addsrvrolemember.
  • Utilisez l’instruction GRANT pour accorder des autorisations au niveau du serveur à la nouvelle connexion ou à un rôle qui contient la connexion.Use the GRANT statement, to grant server-level permissions to the new login or to a role containing the login. Pour plus d’informations, consultez GRANT.For more information, see GRANT.

ExemplesExamples

G.G. Création d’une connexion d’authentification SQL Server avec un mot de passeCreating a SQL Server authentication login with a password

L’exemple suivant crée la connexion Mary7 avec le mot de passe A2c3456.The following example creates the login Mary7 with password A2c3456.

CREATE LOGIN Mary7 WITH PASSWORD = 'A2c3456$#' ;

H.H. Utilisation d’optionsUsing Options

L’exemple suivant crée la connexion Mary8 avec le mot de passe et certains arguments facultatifs.The following example creates the login Mary8 with password and some of the optional arguments.

CREATE LOGIN Mary8 WITH PASSWORD = 'A2c3456$#' MUST_CHANGE,
CHECK_EXPIRATION = ON,
CHECK_POLICY = ON;

I.I. Création d'une connexion à partir d'un compte de domaine WindowsCreating a login from a Windows domain account

L’exemple suivant crée une connexion à partir d’un compte de domaine Windows nommé Mary dans le domaine Contoso.The following example creates a login from a Windows domain account named Mary in the Contoso domain.

CREATE LOGIN [Contoso\Mary] FROM WINDOWS;
GO

Voir aussiSee Also