Condividi tramite


ALTER SERVICE MASTER KEY (Transact-SQL)

Modifica la chiave master del servizio di un'istanza di SQL Server.

Icona di collegamento a un argomento Convenzioni della sintassi Transact-SQL

Sintassi

ALTER SERVICE MASTER KEY 
    [ { <regenerate_option> | <recover_option> } ] [;]

<regenerate_option> ::=
    [ FORCE ] REGENERATE

<recover_option> ::=
    { WITH OLD_ACCOUNT = 'account_name' , OLD_PASSWORD = 'password' }
    |    
    { WITH NEW_ACCOUNT = 'account_name' , NEW_PASSWORD = 'password' }

Argomenti

  • FORCE
    Indica che la chiave master del servizio deve essere rigenerata, anche a rischio di perdita dei dati. Per ulteriori informazioni, vedere Modifica dell'account del servizio SQL Server più avanti in questo argomento.

  • REGENERATE
    Indica che la chiave master del servizio deve essere rigenerata.

  • OLD_ACCOUNT ='account_name'
    Specifica il nome dell'account del servizio Windows precedente.

    Nota di attenzioneAttenzione

    Questa opzione è obsoleta. Non utilizzare. In alternativa, utilizzare Gestione configurazione SQL Server.

  • OLD_PASSWORD ='password'
    Specifica la password dell'account del servizio Windows precedente.

    Nota di attenzioneAttenzione

    Questa opzione è obsoleta. Non utilizzare. In alternativa, utilizzare Gestione configurazione SQL Server.

  • NEW_ACCOUNT ='account_name'
    Specifica il nome del nuovo account del servizio Windows.

    Nota di attenzioneAttenzione

    Questa opzione è obsoleta. Non utilizzare. In alternativa, utilizzare Gestione configurazione SQL Server.

  • NEW_PASSWORD ='password'
    Specifica la password del nuovo account del servizio Windows.

    Nota di attenzioneAttenzione

    Questa opzione è obsoleta. Non utilizzare. In alternativa, utilizzare Gestione configurazione SQL Server.

Osservazioni

La chiave master del servizio viene generata automaticamente la prima volta che risulta necessaria per crittografare la password di un server collegato, le credenziali o la chiave master del database. La chiave master del servizio viene crittografata mediante la chiave del computer locale o l'API Windows per la protezione dei dati (DAPI, Data Protection API). In questa API viene utilizzata una chiave derivata dalle credenziali di Windows dell'account del servizio SQL Server.

In SQL Server 2012 si utilizza l'algoritmo di crittografia AES per proteggere la chiave master del servizio (SMK) e la chiave master del database (DMK). AES è un algoritmo di crittografia più recente rispetto a 3DES utilizzato nelle versioni precedenti. Dopo aver aggiornato un'istanza del Motore di database a SQL Server 2012 le chiavi SMK e DMK devono essere rigenerate per aggiornare le chiavi master ad AES. Per ulteriori informazioni sulla rigenerazione della DMK, vedere ALTER MASTER KEY (Transact-SQL).

Modifica dell'account del servizio SQL Server

Per modificare l'account del servizio SQL Server, utilizzare Gestione configurazione SQL Server. Per gestire una modifica dell'account del servizio, in SQL Server viene archiviata una copia ridondante della chiave master del servizio protetta dall'account del computer che dispone delle autorizzazioni necessarie concesse al gruppo di servizi SQL Server. Se il computer viene ricompilato, lo stesso utente di dominio utilizzato precedentemente dall'account del servizio può recuperare la chiave master del servizio. Questa operazione non è possibile con gli account locali o con l'account di sistema locale, Servizio locale o Servizio di rete. Quando si sposta SQL Server in un altro computer, eseguire la migrazione della chiave master del servizio utilizzando la procedura di backup e ripristino.

L'istruzione REGENERATE consente di rigenerare la chiave master del servizio. In seguito alla rigenerazione della chiave master del servizio, SQL Server decrittografa tutte le chiavi crittografate con tale chiave e quindi le crittografa con la nuova chiave master del servizio. Si tratta di un'operazione che utilizza molte risorse e pertanto dovrebbe essere pianificata in periodi di carico ridotto, a meno che la chiave non sia stata compromessa. In caso di esito negativo di una qualsiasi delle operazioni di decrittografia, l'intera istruzione avrà esito negativo.

L'opzione FORCE consente di continuare il processo di rigenerazione della chiave anche se non è possibile recuperare la chiave master corrente o decrittografare tutte le chiavi private crittografate con tale chiave master. Utilizzare l'opzione FORCE solo se la rigenerazione non riesce e se non è possibile ripristinare la chiave master del servizio tramite l'istruzione RESTORE SERVICE MASTER KEY.

Nota di attenzioneAttenzione

La chiave master del servizio è l'elemento radice della gerarchia di crittografia di SQL Server. Con la chiave master del servizio vengono protetti direttamente o indirettamente tutte le altre chiavi e tutti i segreti nell'albero. Se non è possibile decrittografare una chiave dipendente durante una rigenerazione forzata, i dati protetti dalla chiave andranno perduti.

Se si sposta SQL in un altro computer, è necessario utilizzare lo stesso account del servizio per decrittografare SMK. Tramite SQL Server verrà corretta automaticamente la crittografia dell'account del computer.

Autorizzazioni

È richiesta l'autorizzazione CONTROL SERVER per il server.

Esempi

Nell'esempio seguente viene rigenerata la chiave master del servizio.

ALTER SERVICE MASTER KEY REGENERATE;
GO

Vedere anche

Riferimento

RESTORE SERVICE MASTER KEY (Transact-SQL)

BACKUP SERVICE MASTER KEY (Transact-SQL)

Concetti

Gerarchia di crittografia