CREATE LOGIN (Transact-SQL)

Data aggiornamento: 17 luglio 2006

Crea un nuovo account di accesso di SQL Server.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

CREATE LOGIN login_name { WITH <option_list1> | FROM <sources> }

<sources> ::=
    WINDOWS [ WITH <windows_options> [ ,... ] ]
    | CERTIFICATE certificateName
    | ASYMMETRIC KEY asym_key_name

<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 

<windows_options> ::=      
    DEFAULT_DATABASE = database
    | DEFAULT_LANGUAGE = language

Argomenti

  • login_name
    Specifica il nome dell'account di accesso creato. Esistono quattro tipi di account di accesso: account di accesso di SQL Server, account di accesso di Windows, account di accesso mappati a certificati e account di accesso mappati a chiavi asimmetriche. Se si esegue il mapping di login_name da un account di dominio di Windows, login_name deve essere racchiuso tra parentesi quadre ([ ]). Vedere l'esempio D di seguito in questo argomento.
  • WINDOWS
    Specifica che l'account di accesso deve essere mappato a un account di accesso di Windows.
  • CERTIFICATE certificateName
    Specifica il nome di un certificato da associare a questo account di accesso. Questo certificato deve essere già presente nel database master.
  • ASYMMETRIC KEY asym_key_name
    Specifica il nome di una chiave asimmetrica da associare a questo account di accesso. Questa chiave deve esistere nel database master.
  • PASSWORD ='password'
    Si applica solo agli account di accesso di SQL Server. Specifica la password per l'account di accesso che viene creato. È possibile che di questo valore sia già stato eseguito l'hashing. È consigliabile utilizzare una password complessa. Per ulteriori informazioni, vedere Password complesse.
  • PASSWORD = 'hashed_password
    Si applica solo alla parola chiave HASHED. Specifica il valore di cui è stato eseguito l'hashing della password dell'account di accesso che si sta creando.
  • HASHED
    Si applica solo agli account di accesso di SQL Server. Specifica che è già stato eseguito l'hashing per la password immessa dopo l'argomento PASSWORD. L'opzione HASHED può essere utilizzata solo su accessi per i quali sono disattivati i controlli dei criteri password. Se questa opzione non è inclusa, viene eseguito l'hashing della stringa immessa come password prima che questa venga archiviata nel database.
  • MUST_CHANGE
    Si applica solo agli account di accesso di SQL Server. Se questa opzione è inclusa, in SQL Server viene richiesto all'utente di immettere una nuova password al primo utilizzo del nuovo account di accesso.
  • CREDENTIAL **=**credential_name
    Nome della credenziale da mappare al nuovo account di accesso di SQL Server. La credenziale deve esistere nel server.
  • SID = sid
    Si applica solo agli account di accesso di SQL Server. Specifica il GUID del nuovo account di accesso di SQL Server. Se questa opzione è inclusa, SQL Server assegna un GUID automaticamente.
  • DEFAULT_DATABASE **=**database
    Specifica il database predefinito da assegnare all'account di accesso. Se questa opzione non è inclusa, il database predefinito viene impostato su master.
  • DEFAULT_LANGUAGE **=**language
    Specifica la lingua predefinita da assegnare all'account di accesso. Se questa opzione non è inclusa, la lingua predefinita viene impostata sulla lingua predefinita corrente del server. Se la lingua predefinita del server viene modificata in seguito, la lingua predefinita dell'account di accesso rimane inalterata.
  • CHECK_EXPIRATION = { ON | OFF }
    Si applica solo agli account di accesso di SQL Server. Specifica se i criteri di scadenza delle password devono essere imposti in questo account di accesso. Il valore predefinito è OFF.
  • CHECK_POLICY = { ON | OFF }
    Si applica solo agli account di accesso di SQL Server. Specifica che i criteri delle password di Windows del computer in cui è in esecuzione SQL Server devono essere imposti per questo account di accesso. Il valore predefinito è ON.

Osservazioni

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.

ms189751.note(it-it,SQL.90).gifImportante:
CHECK_EXPIRATION e CHECK_POLICY sono imposte solo in e versioni successive. Per ulteriori informazioni, vedere Criteri di gestione delle 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 esistono già nel database master.

Autorizzazioni

È richiesta l'autorizzazione ALTER ANY LOGIN nel server. Se viene utilizzata l'opzione CREDENTIAL, è richiesta anche l'autorizzazione ALTER ANY CREDENTIAL nel server.

Esempi

A. Creazione di un account di accesso con una password

Nell'esempio seguente viene creato un account di accesso per un particolare utente e assegnata una password. L'opzione MUST_CHANGE richiede agli utenti di modificare questa password alla prima connessione al server.

CREATE LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>' MUST_CHANGE;
GO

B. Creazione di un account di accesso mappato a una credenziale

Nell'esempio seguente viene creato un account di accesso per un particolare utente. Questo account di accesso viene mappato alla credenziale.

CREATE LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>', 
    CREDENTIAL = <credential_name>;
GO

C. Creazione di un account di accesso da un certificato

Nell'esempio seguente viene creato un account di accesso per un particolare utente da un certificato nel database master.

USE MASTER;
CREATE CERTIFICATE <certificateName>
    WITH SUBJECT = '<login_name> certificate in master database',
    EXPIRY_DATE = '02/02/2009';
GO
CREATE LOGIN <login_name> 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 [Adventure-Works\Mary5] da un account di dominio di Windows.

CREATE LOGIN [Adventure-Works\Mary5] FROM WINDOWS;
GO

Vedere anche

Riferimento

ALTER LOGIN (Transact-SQL)
DROP LOGIN (Transact-SQL)
EVENTDATA (Transact-SQL)

Altre risorse

Entità
Criteri di gestione delle password

Guida in linea e informazioni

Assistenza su SQL Server 2005

Cronologia modifiche

Versione Cronologia

17 luglio 2006

Contenuto modificato:
  • Chiarimento relativo all'utilizzo degli account di accesso creati da un certificato o una chiave asimmetrica.