CREATE DATABASE ENCRYPTION KEY (Transact-SQL)
Crea una chiave di crittografia usata per crittografare in modo trasparente un database. Per ulteriori informazioni sulla crittografia trasparente del database, vedere Transparent Data Encryption (TDE).
Convenzioni della sintassi Transact-SQL
Sintassi
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = { AES_128 | AES_192 | AES_256 | TRIPLE_DES_3KEY }
ENCRYPTION BY SERVER
{
CERTIFICATE Encryptor_Name |
ASYMMETRIC KEY Encryptor_Name
}
[ ; ]
Argomenti
WITH ALGORITHM = { AES_128 | AES_192 | AES_256 | TRIPLE_DES_3KEY }
Specifica l'algoritmo di crittografia utilizzato per la chiave di crittografia.ENCRYPTION BY SERVER CERTIFICATE Encryptor_Name
Specifica il nome del componente di crittografia utilizzato per crittografare la chiave di crittografia del database.ENCRYPTION BY SERVER ASYMMETRIC KEY Nome_Componente_Crittografia
Specifica il nome della chiave asimmetrica utilizzata per crittografare la chiave di crittografia del database. Per crittografare la chiave di crittografia del database con una chiave asimmetrica, è necessario che quest'ultima risieda in un provider EKM (Extensible Key Management).
Osservazioni
Per poter crittografare un database utilizzando la Crittografia trasparente del database (TDE) è necessaria una chiave di crittografia del database. Crittografandolo in modo trasparente, l'intero database viene crittografato a livello di file, in assenza di qualunque modifica particolare del codice. La chiave asimmetrica o il certificato utilizzato per crittografare la chiave di crittografia del database deve essere archiviata nel database di sistema master.
Le istruzioni sulla crittografia del database sono consentite solo sui database utente.
Non è possibile esportare dal database la relativa chiave di crittografia. È disponibile solo per il sistema, per gli utenti con autorizzazioni di debug per il server e per gli utenti che hanno accesso ai certificati utilizzati per crittografare e decrittografare la chiave di crittografia del database.
Non è necessario rigenerare la chiave di crittografia del database in caso di modifica del proprietario del database (dbo).
Autorizzazioni
Sono necessarie l'autorizzazione CONTROL per il database e l'autorizzazione VIEW DEFINITION per la chiave asimmetrica o il certificato utilizzato per crittografare la chiave di crittografia del database.
Esempi
Per ulteriori esempi sull'utilizzo di Transparent Data Encryption, vedere Transparent Data Encryption (TDE) e Abilitare TDE utilizzando EKM.
Nell'esempio seguente viene creata una chiave di crittografia del database tramite l'algoritmo AES_256 e tale chiave viene quindi protetta con un certificato denominato MyServerCert.
USE AdventureWorks2012;
GO
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = AES_256
ENCRYPTION BY SERVER CERTIFICATE MyServerCert;
GO
Vedere anche
Riferimento
Opzioni ALTER DATABASE SET (Transact-SQL)
ALTER DATABASE ENCRYPTION KEY (Transact-SQL)
DROP DATABASE ENCRYPTION KEY (Transact-SQL)
sys.dm_database_encryption_keys (Transact-SQL)
Concetti
Transparent Data Encryption (TDE)
Chiavi di crittografia del database e di SQL Server (Motore di database)