Share via


CREATE MASTER KEY (Transact-SQL)

Crea una chiave master del database.

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

Sintassi

CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'password'

Argomenti

  • PASSWORD ='password'
    Password utilizzata per crittografare la chiave master nel database. password deve soddisfare i criteri password Windows del computer che sta eseguendo l'istanza di SQL Server.

Osservazioni

La chiave master del database è una chiave simmetrica utilizzata per proteggere le chiavi private dei certificati e le chiavi asimmetriche presenti nel database. Al momento della creazione, la chiave master viene crittografata con l'algoritmoAES_256 e una password specificata dall'utente. Per consentire la decrittografia automatica della chiave master, una copia della chiave viene crittografata con la chiave master del servizio e archiviata sia nel database sia nel database master. La copia archiviata nel database master viene in genere aggiornata in modo automatico ogni volta che la chiave master viene modificata. È possibile modificare questa impostazione predefinita utilizzando l'opzione DROP ENCRYPTION BY SERVICE MASTER KEY dell'istruzione ALTER MASTER KEY. Per aprire una chiave master non crittografata con la chiave master del servizio, è necessario utilizzare l'istruzione OPEN MASTER KEY e una password.

La colonna is_master_key_encrypted_by_server della vista del catalogo sys.databases nel database master indica se la chiave master del database è crittografata con la chiave master del servizio.

Le informazioni sulla chiave master del database sono visibili nella vista del catalogo sys.symmetric_keys.

Nota importanteImportante

È consigliabile eseguire il backup della chiave master utilizzando l'istruzione BACKUP MASTER KEY e archiviarlo in un percorso esterno sicuro.

Le chiavi master del servizio e del database vengono protette mediante l'algoritmo AES-256.

Autorizzazioni

È richiesta l'autorizzazione CONTROL per il database.

Esempi

Nell'esempio seguente viene creata una chiave master per il database AdventureWorks2012. La chiave viene crittografata con la password 23987hxJ#KL95234nl0zBe.

USE AdventureWorks2012;
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '23987hxJ#KL95234nl0zBe';
GO

Vedere anche

Riferimento

sys.symmetric_keys (Transact-SQL)

sys.databases (Transact-SQL)

OPEN MASTER KEY (Transact-SQL)

ALTER MASTER KEY (Transact-SQL)

DROP MASTER KEY (Transact-SQL)

CLOSE MASTER KEY (Transact-SQL)

Concetti

Gerarchia di crittografia