Condividi tramite


ALTER SERVICE MASTER KEY (Transact-SQL)

Si applica a: SQL Server Istanza gestita di SQL di Azure

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

Convenzioni relative alla 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 altre 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.

Avviso

Questa opzione è obsoleta. Non utilizzare. Usare invece Gestione configurazione SQL Server.

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

Avviso

Questa opzione è obsoleta. Non utilizzare. Usare invece Gestione configurazione SQL Server.

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

Avviso

Questa opzione è obsoleta. Non utilizzare. Usare invece Gestione configurazione SQL Server.

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

Avviso

Questa opzione è obsoleta. Non utilizzare. Usare invece 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). Questa API usa una chiave derivata dalle credenziali di Windows dell'account del servizio SQL Server.

SQL Server 2012 (11.x) usa 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 (11.x), le chiavi SMK e DMK devono essere rigenerate per poter aggiornare le chiavi master ad AES. Per altre informazioni sulla rigenerazione della chiave DMK, vedere ALTER MASTER KEY (Transact-SQL).

Modifica dell'account del servizio SQL Server

Per modificare l'account del servizio SQL Server, usare Gestione configurazione SQL Server. Per gestire una modifica dell'account del servizio, SQL Server archivia una copia ridondante della chiave master del servizio protetta dall'account del computer che ha le autorizzazioni necessarie concesse al gruppo di servizi di SQL Server. Se il computer viene ricompilato, lo stesso utente di dominio utilizzato in precedenza 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 usando la procedura di backup e ripristino.

L'istruzione REGENERATE consente di rigenerare la chiave master del servizio. Quando la chiave master del servizio viene rigenerata, SQL Server esegue la decrittografia di tutte le chiavi che sono state crittografate con questa chiave e quindi ne esegue la crittografia 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. Usare l'opzione FORCE solo se la rigenerazione non riesce e non è possibile ripristinare la chiave master del servizio tramite l'istruzione RESTORE SERVICE MASTER KEY.

Attenzione

La chiave master del servizio è la 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 usare lo stesso account del servizio per decrittografare SMK. SQL Server correggerà 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  

Vedi anche

RESTORE SERVICE MASTER KEY (Transact-SQL)
BACKUP SERVICE MASTER KEY (Transact-SQL)
Gerarchia di crittografia