CREATE LOGIN (Transact-SQL)
Crea un nuovo account di accesso di SQL Server.
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
Per le password viene fatta distinzione tra maiuscole e minuscole.
L'utilizzo di password con hashing già eseguito è supportato solo quando si creano gli account di accesso di SQL Server.
Se si specifica MUST_CHANGE, è necessario impostare CHECK_EXPIRATION e CHECK_POLICY su ON. In caso contrario, l'istruzione non verrà eseguita correttamente.
Una combinazione di CHECK_POLICY = OFF e CHECK_EXPIRATION = ON non è supportata.
Quando l'opzione CHECK_POLICY è impostata su OFF, il valore specificato in lockout_time viene reimpostato e l'opzione CHECK_EXPIRATION viene impostata su OFF.
Importante |
|---|
CHECK_EXPIRATION e CHECK_POLICY sono imposte solo in Windows Server 2003 e versioni successive. Per ulteriori informazioni, vedere Criteri password. |
Gli account di accesso creati da certificati o chiavi asimmetriche vengono utilizzati solo per la firma del codice e non possono essere utilizzati per la connessione a SQL Server. È possibile creare un account di accesso da un certificato o una chiave asimmetrica solo quando il certificato o la chiave asimmetrica esiste già nel database master.
Per uno script con cui trasferire di account di accesso, vedere Come trasferire gli account di accesso e le password tra istanze di SQL Server 2005 e SQL Server 2008.
A. Creazione di un account di accesso con una password
Nell'esempio seguente viene creato un account di accesso per un ID utente specifico e viene assegnata una password. L'opzione MUST_CHANGE richiede all'utente di modificare questa password alla prima connessione al server.
CREATE LOGIN <loginName> WITH PASSWORD = '<enterStrongPasswordHere>' MUST_CHANGE; GO
B. Creazione di un account di accesso mappato a una credenziale
Nell'esempio seguente viene creato l'account di accesso per utente specifico, utilizzando il relativo ID. Questo account di accesso viene mappato alla credenziale .
CREATE LOGIN <loginName> WITH PASSWORD = '<enterStrongPasswordHere>',
CREDENTIAL = <credentialName>;
GO
C. Creazione di un account di accesso da un certificato
Nell'esempio seguente viene creato un account di accesso per un ID utente specifico da un certificato nel database 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. Creazione di un account di accesso da un account di dominio di Windows
Nell'esempio seguente viene creato un account di accesso da un account di dominio di Windows.
CREATE LOGIN [<domainName>\<loginName>] FROM WINDOWS; GO
