ALTER MASTER KEY (Transact-SQL)ALTER MASTER KEY (Transact-SQL)

THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)yesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

Modifica le proprietà di una chiave master del database.Changes the properties of a database master key.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintassiSyntax

-- Syntax for SQL Server  

ALTER MASTER KEY <alter_option>  

<alter_option> ::=  
    <regenerate_option> | <encryption_option>  

<regenerate_option> ::=  
    [ FORCE ] REGENERATE WITH ENCRYPTION BY PASSWORD = 'password'  

<encryption_option> ::=  
    ADD ENCRYPTION BY { SERVICE MASTER KEY | PASSWORD = 'password' }  
    |   
    DROP ENCRYPTION BY { SERVICE MASTER KEY | PASSWORD = 'password' }  
-- Syntax for Azure SQL Database
-- Note: DROP ENCRYPTION BY SERVICE MASTER KEY is not supported on Azure SQL Database.

ALTER MASTER KEY <alter_option>  

<alter_option> ::=  
    <regenerate_option> | <encryption_option>  

<regenerate_option> ::=  
    [ FORCE ] REGENERATE WITH ENCRYPTION BY PASSWORD = 'password'  

<encryption_option> ::=  
    ADD ENCRYPTION BY { SERVICE MASTER KEY | PASSWORD = 'password' }  
    |   
    DROP ENCRYPTION BY { PASSWORD = 'password' }  
-- Syntax for Azure SQL Data Warehouse and Parallel Data Warehouse  

ALTER MASTER KEY <alter_option>  

<alter_option> ::=  
    <regenerate_option> | <encryption_option>  

<regenerate_option> ::=  
    [ FORCE ] REGENERATE WITH ENCRYPTION BY PASSWORD ='password'<encryption_option> ::=  
    ADD ENCRYPTION BY SERVICE MASTER KEY   
    |   
    DROP ENCRYPTION BY SERVICE MASTER KEY  

ArgomentiArguments

PASSWORD ='password'PASSWORD ='password'
Specifica una password con la quale crittografare o decrittografare la chiave master del database.Specifies a password with which to encrypt or decrypt the database master key. password deve soddisfare i requisiti per i criteri password di Windows del computer che sta eseguendo l'istanza di SQL ServerSQL Server.password must meet the Windows password policy requirements of the computer that is running the instance of SQL ServerSQL Server.

RemarksRemarks

L'opzione REGENERATE rigenera la chiave master del database e tutte le chiavi protette dalla chiave master.The REGENERATE option re-creates the database master key and all the keys it protects. Le chiavi vengono prima decrittografate con la chiave master precedente e quindi crittografate con la nuova chiave master.The keys are first decrypted with the old master key, and then encrypted with the new master key. Si tratta di un'operazione che utilizza molte risorse e pertanto dovrebbe essere pianificata in periodi di carico ridotto, a meno che la chiave master non sia stata compromessa.This resource-intensive operation should be scheduled during a period of low demand, unless the master key has been compromised.

SQL Server 2012 (11.x)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). uses the AES encryption algorithm to protect the service master key (SMK) and the database master key (DMK). AES è un algoritmo di crittografia più recente rispetto a 3DES utilizzato nelle versioni precedenti.AES is a newer encryption algorithm than 3DES used in earlier versions. Dopo aver aggiornato un'istanza di Motore di databaseDatabase Engine a SQL Server 2012 (11.x)SQL Server 2012 (11.x) le chiavi SMK e DMK devono essere rigenerate per aggiornare le chiavi master ad AES.After upgrading an instance of the Motore di databaseDatabase Engine to SQL Server 2012 (11.x)SQL Server 2012 (11.x) the SMK and DMK should be regenerated in order to upgrade the master keys to AES. Per altre informazioni sulla rigenerazione della SMK, vedere ALTER SERVICE MASTER KEY (Transact-SQL).For more information about regenerating the SMK, see ALTER SERVICE MASTER KEY (Transact-SQL).

Quando si utilizza l'opzione FORCE, la rigenerazione delle chiavi continuerà anche se la chiave master non è disponibile o il server non è in grado di decrittografare tutte le chiavi private crittografate.When the FORCE option is used, key regeneration will continue even if the master key is unavailable or the server cannot decrypt all the encrypted private keys. Se non è possibile aprire la chiave master, usare l'istruzione RESTORE MASTER KEY per ripristinare la chiave master da un backup.If the master key cannot be opened, use the RESTORE MASTER KEY statement to restore the master key from a backup. Utilizzare l'opzione FORCE solo se la chiave master è irrecuperabile o se la decrittografia ha esito negativo.Use the FORCE option only if the master key is irretrievable or if decryption fails. Le informazioni crittografate esclusivamente da una chiave irrecuperabile andranno perdute.Information that is encrypted only by an irretrievable key will be lost.

L'opzione DROP ENCRYPTION BY SERVICE MASTER KEY rimuove l'impostazione per la crittografia della chiave master del database tramite la chiave master del servizio.The DROP ENCRYPTION BY SERVICE MASTER KEY option removes the encryption of the database master key by the service master key.

Con ADD ENCRYPTION BY SERVICE MASTER KEY una copia della chiave master viene crittografata utilizzando la chiave master del servizio e archiviata sia nel database corrente che nel database master.ADD ENCRYPTION BY SERVICE MASTER KEY causes a copy of the master key to be encrypted using the service master key and stored in both the current database and in master.

PermissionsPermissions

È richiesta l'autorizzazione CONTROL per il database.Requires CONTROL permission on the database. Se la chiave master del database è stata crittografata con una password è inoltre necessario conoscere tale password.If the database master key has been encrypted with a password, knowledge of that password is also required.

EsempiExamples

Nell'esempio seguente viene creta una nuova chiave master del database per AdventureWorks e vengono di nuovo crittografate le chiavi figlio corrispondenti nella gerarchia di crittografia.The following example creates a new database master key for AdventureWorks and reencrypts the keys below it in the encryption hierarchy.

USE AdventureWorks2012;  
ALTER MASTER KEY REGENERATE WITH ENCRYPTION BY PASSWORD = 'dsjdkflJ435907NnmM#sX003';  
GO  

Esempi: Azure SQL Data WarehouseAzure SQL Data Warehouse e Parallel Data WarehouseParallel Data WarehouseExamples: Azure SQL Data WarehouseAzure SQL Data Warehouse and Parallel Data WarehouseParallel Data Warehouse

Nell'esempio seguente viene creta una nuova chiave master del database per AdventureWorksPDW2012 e vengono di nuovo crittografate le chiavi figlio corrispondenti nella gerarchia di crittografia.The following example creates a new database master key for AdventureWorksPDW2012 and re-encrypts the keys below it in the encryption hierarchy.

USE master;  
ALTER MASTER KEY REGENERATE WITH ENCRYPTION BY PASSWORD = 'dsjdkflJ435907NnmM#sX003';  
GO  

Vedere ancheSee Also

CREATE MASTER KEY (Transact-SQL) CREATE MASTER KEY (Transact-SQL)
OPEN MASTER KEY (Transact-SQL) OPEN MASTER KEY (Transact-SQL)
CLOSE MASTER KEY (Transact-SQL) CLOSE MASTER KEY (Transact-SQL)
BACKUP MASTER KEY (Transact-SQL) BACKUP MASTER KEY (Transact-SQL)
RESTORE MASTER KEY (Transact-SQL) RESTORE MASTER KEY (Transact-SQL)
DROP MASTER KEY (Transact-SQL) DROP MASTER KEY (Transact-SQL)
Gerarchia di crittografia Encryption Hierarchy
CREATE DATABASE (SQL Server Transact-SQL) CREATE DATABASE (SQL Server Transact-SQL)
Collegamento e scollegamento di un database (SQL Server)Database Detach and Attach (SQL Server)