Condividi tramite


ALTER LOGIN (Transact-SQL)

Data aggiornamento: 12 dicembre 2006

Modifica le proprietà di un account di accesso di SQL Server.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

ALTER LOGIN login_name 
    { 
    <status_option> 
    | WITH <set_option> [ ,... ] 
    } 

<status_option> ::=
        ENABLE | DISABLE

<set_option> ::=            
    PASSWORD = 'password' | hashed_password HASHED
    [ 
      OLD_PASSWORD = 'oldpassword' 
      | <password_option> [ <password_option> ] 
    ]
    | DEFAULT_DATABASE = database
    | DEFAULT_LANGUAGE = language
    | NAME = login_name
    | CHECK_POLICY = { ON | OFF }
    | CHECK_EXPIRATION = { ON | OFF }
    | CREDENTIAL = credential_name
    | NO CREDENTIAL
  
<password_option> ::= 
    MUST_CHANGE | UNLOCK

Argomenti

  • login_name
    Specifica il nome dell'account di accesso SQL Server che si desidera modificare.
  • ENABLE | DISABLE
    Attiva o disattiva l'account di accesso.
  • PASSWORD = 'password'
    Si applica solo agli account di accesso di SQL Server. Specifica la password per l'account di accesso che viene modificato. Per le password viene fatta distinzione tra maiuscole e minuscole.
  • PASSWORD = 'hashed_password'
    Si applica solo alla parola chiave HASHED. Specifica il valore di cui è stato eseguito l'hashing per la 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. Se questa opzione non è inclusa, viene eseguito l'hashing della password prima che questa venga archiviata nel database.

    [!NOTA] Questo argomento funziona solo con hash generati da SQL Server 2000 o versioni successive.

  • OLD_PASSWORD ='oldpassword'
    Si applica solo agli account di accesso di SQL Server. Password corrente dell'account di accesso a cui verrà assegnata una nuova password. Per le password viene fatta distinzione tra maiuscole e minuscole.
  • MUST_CHANGE
    Si applica solo agli account di accesso di SQL Server. Se si include questa opzione, SQL Server richiederà una password aggiornata al primo utilizzo dell'account di accesso modificato.
  • DEFAULT_DATABASE **=**database
    Specifica un database predefinito da assegnare all'account di accesso.
  • DEFAULT_LANGUAGE **=**language
    Specifica una lingua predefinita da assegnare all'account di accesso.
  • NAME = login_name
    Nuovo nome dell'account di accesso che viene rinominato. Se si tratta di un account di accesso di Windows, il SID dell'entità di Windows corrispondente al nuovo nome deve corrispondere al SID associato all'account di accesso in SQL Server. Il nuovo nome di un account di accesso di SQL Server non può contenere una barra rovesciata (\).
  • 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.
  • CREDENTIAL = credential_name
    Nome della credenziale da mappare all'account di accesso di SQL Server. La credenziale deve esistere nel database corrente. Per ulteriori informazioni, vedere Credenziali.
  • NO CREDENTIAL
    Rimuove qualsiasi mapping esistente tra l'account di accesso e una credenziale del server. Per ulteriori informazioni, vedere Credenziali.
  • UNLOCK
    Si applica solo agli account di accesso di SQL Server. Specifica che un account di accesso bloccato deve essere sbloccato.

Osservazioni

Quando CHECK_POLICY è impostato su ON, non è possibile utilizzare l'argomento HASHED.

Quando si modifica l'opzione CHECK_POLICY impostandola su ON, si ottengono le conseguenze seguenti:

  • Anche l'opzione CHECK_EXPIRATION viene impostata su ON, a meno che non sia impostata su OFF in modo esplicito.
  • La cronologia delle password viene inizializzata con il valore dell'hash della password corrente.

Quando si modifica l'opzione CHECK_POLICY impostandola su OFF, si ottengono le conseguenze seguenti:

  • Anche l'opzione CHECK_EXPIRATION viene impostata su OFF.
  • Viene cancellata la cronologia delle password.
  • Viene reimpostato il valore di lockout_time.

Se si specifica MUST_CHANGE, le opzioni CHECK_EXPIRATION e CHECK_POLICY devono essere impostate su ON. In caso contrario, l'istruzione non riesce.

Se l'opzione CHECK_POLICY è impostata su OFF, non è possibile impostare CHECK_EXPIRATION su ON. Un'istruzione ALTER LOGIN che presenta questa combinazione di opzioni non potrà essere eseguita correttamente.

ms189828.note(it-it,SQL.90).gifImportante:
CHECK_EXPIRATION e CHECK_POLICY vengono imposte solo in e versioni successive. Per ulteriori informazioni, vedere Criteri di gestione delle password.
ms189828.note(it-it,SQL.90).gifImportante:
Un problema noto in può impedire la reimpostazione del conteggio delle password errate dopo il raggiungimento del limite di blocchi dell'account. Ciò potrebbe causare il blocco immediato nei successivi tentativi di accesso non riusciti. È possibile reimpostare il conteggio delle password errate in modo manuale impostando l'opzione CHECK_POLICY = OFF, e reimpostando subito dopo CHECK_POLICY = ON. Per ulteriori informazioni sul limite di blocchi dell'account, vedere l'articolo 818078 della Microsoft Knowledge Base: L'Account utente può venire bloccato prematuramente.

Non è possibile utilizzare ALTER_LOGIN con l'argomento DISABLE per negare l'accesso a un gruppo di Windows. Ad esempio, ALTER_LOGIN [domain\group] DISABLE restituirà il messaggio di errore seguente:

"Messaggio 15151, livello 16, stato 1, riga 1"

"Impossibile modificare l'oggetto account di accesso di tipo 'Domain\Group', perché inesistente o perché non si dispone dell'autorizzazione."

Ciò per motivi strutturali.

Autorizzazioni

È richiesta l'autorizzazione ALTER ANY LOGIN.

Se viene utilizzata l'opzione CREDENTIAL, è richiesta anche l'autorizzazione ALTER ANY CREDENTIAL.

Se l'account di accesso che si desidera modificare è un utente autorizzato che dispone dell'autorizzazione CONTROL SERVER, è richiesta anche l'autorizzazione CONTROL SERVER quando si apportano le modifiche seguenti:

  • Reimpostazione della password senza specificare la vecchia password.
  • Attivazione di MUST_CHANGE, CHECK_POLICY o CHECK_EXPIRATION.
  • Modifica del nome dell'account di accesso.
  • Attivazione o disattivazione dell'account di accesso.
  • Mapping dell'account di accesso a una diversa credenziale.

Un'entità può modificare la password, la lingua predefinita e il database predefinito per il proprio account di accesso.

Esempi

A. Attivazione di un account di accesso disattivato

Nell'esempio seguente viene attivato l'account di accesso Mary5.

ALTER LOGIN Mary5 ENABLE;

B. Modifica della password di un account di accesso

Nell'esempio seguente viene modificata la password di Mary5.

ALTER LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>';

C. Modifica del nome di un account di accesso

Nell'esempio seguente viene modificato il nome dell'account di accesso Mary5 in Joe2.

ALTER LOGIN Mary5 WITH NAME = Joe2;

D. Mapping tra un account di accesso e una credenziale

Nell'esempio seguente l'account di accesso Joe2 viene mappato alla credenziale Custodian04.

ALTER LOGIN Joe2 WITH CREDENTIAL = Custodian04;

Vedere anche

Riferimento

CREATE LOGIN (Transact-SQL)
DROP LOGIN (Transact-SQL)
CREATE CREDENTIAL (Transact-SQL)
EVENTDATA (Transact-SQL)

Altre risorse

Credenziali

Guida in linea e informazioni

Assistenza su SQL Server 2005

Cronologia modifiche

Versione Cronologia

12 dicembre 2006

Nuovo contenuto:
  • Aggiunta di informazioni sull'argomento HASHED.
  • Aggiunte informazioni sull'utilizzo dell'argomento DISABLE per evitare l'accesso a un gruppo di Windows.