CREATE DATABASE ENCRYPTION KEY (Transact-SQL)

 

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

Erstellt einen Verschlüsselungsschlüssel für eine Datenbank, der für die transparente Datenbankverschlüsselung verwendet wird. Weitere Informationen über transparente datenbankverschlüsselung finden Sie unter transparente datenverschlüsselung (TDE).

Topic link icon Transact-SQL-Syntaxkonventionen

-- Syntax for SQL Server  

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  
    }  
[ ; ]  

-- Syntax for Parallel Data Warehouse  

CREATE DATABASE ENCRYPTION KEY  
       WITH ALGORITHM = { AES_128 | AES_192 | AES_256 | TRIPLE_DES_3KEY }  
   ENCRYPTION BY SERVER CERTIFICATE Encryptor_Name   
[ ; ]  

WITH ALGORITHM = { AES_128 | AES_192 | AES_256 | TRIPLE_DES_3KEY }
Gibt den Verschlüsselungsalgorithmus an, der für den Verschlüsselungsschlüssel verwendet wird.

System_CAPS_ICON_note.jpg Hinweis

Ab SQL Server 2016 sind alle Algorithmen als AES_128, AES_192 und AES_256 als veraltet markiert. Um ältere Algorithmen zu verwenden (was nicht empfohlen wird), müssen Sie den Kompatibilitätsgrad zwischen Datenbanken auf höchsten 120 festlegen.

Die Verschlüsselung durch SERVER Zertifikat Encryptor_Name
Gibt den Namen der Verschlüsselung an, die zum Verschlüsseln des Verschlüsselungsschlüssels für die Datenbank verwendet wird.

Verschlüsselung mit ASYMMETRISCHEN Schlüssel Encryptor_Name für SERVER
Gibt den Namen des asymmetrischen Schlüssels an, der zum Verschlüsseln des Verschlüsselungsschlüssels für die Datenbank verwendet wird. Um den Verschlüsselungsschlüssel für die Datenbank mit einem asymmetrischen Schlüssel zu verschlüsseln, muss sich der asymmetrische Schlüssel auf einem erweiterbaren Schlüsselverwaltungsanbieter befinden.

Datenbank-Verschlüsselungsschlüssel ist erforderlich, bevor eine Datenbank verschlüsselt werden kann, mit transparente Datenbankverschlüsselung (TDE). Wenn eine Datenbank transparent verschlüsselt ist, so ist die gesamte Datenbank auf Dateiebene ohne spezielle Codeänderungen verschlüsselt. Das Zertifikat oder der asymmetrische Schlüssel, das bzw. der zum Verschlüsseln des Verschlüsselungsschlüssels für die Datenbank verwendet wird, muss sich in der master-Systemdatenbank befinden.

Datenbankverschlüsselungsanweisungen sind nur für Benutzerdatenbanken zulässig.

Der Verschlüsselungsschlüssel für die Datenbank kann nicht aus der Datenbank exportiert werden. Er ist nur für das System, für Benutzer, die Debugberechtigungen auf dem Server haben, und für Benutzer verfügbar, die Zugriff auf die Zertifikate zum Verschlüsseln und Entschlüssen des Verschlüsselungsschlüssels für die Datenbank haben.

Der Verschlüsselungsschlüssel für die Datenbank muss nicht erneut generiert werden, wenn ein Datenbankbesitzer (DBO) geändert wird.

Datenbank-Verschlüsselungsschlüssel wird automatisch erstellt, für eine SQL-Datenbank Datenbank. Sie müssen nicht zum Erstellen eines Schlüssels mit der CREATE DATABASE ENCRYPTION KEY-Anweisung.

Erfordert die CONTROL-Berechtigung für die Datenbank und die VIEW DEFINITION-Berechtigung für das Zertifikat oder den asymmetrischen Schlüssel, die zum Verschlüsseln des Verschlüsselungsschlüssels für die Datenbank verwendet werden.

Weitere Beispiele zur Verwendung von TDE, finden Sie unter transparente datenverschlüsselung (TDE), Aktivieren von TDE in SQL Server mithilfe von EKM, und erweiterbare Schlüsselverwaltung mithilfe von Azure Key Vault (SQL Server).

Im folgenden Beispiel wird der Datenbank-Verschlüsselungsschlüssel mithilfe des AES_256-Algorithmus erstellt, und der private Schlüssel wird mit einem Zertifikat namens MyServerCert geschützt.

USE AdventureWorks2012;  
GO  
CREATE DATABASE ENCRYPTION KEY  
WITH ALGORITHM = AES_256  
ENCRYPTION BY SERVER CERTIFICATE MyServerCert;  
GO  

Weitere Beispiele zur Verwendung von TDE, finden Sie unter Transparent Data Encryption (SQL Server PDW).

Im folgenden Beispiel wird der Datenbank-Verschlüsselungsschlüssel mithilfe des AES_256-Algorithmus erstellt, und der private Schlüssel wird mit einem Zertifikat namens MyServerCert geschützt.

-- Uses AdventureWorks  
  
CREATE DATABASE ENCRYPTION KEY  
WITH ALGORITHM = AES_256  
ENCRYPTION BY SERVER CERTIFICATE MyServerCert;  
GO  

Transparente datenverschlüsselung (TDE)
SQL Server-Verschlüsselung
SQLServer und Datenbank-Verschlüsselungsschlüsseln (Datenbankmodul)
Verschlüsselungshierarchie
ALTER DATABASE SET-Optionen (Transact-SQL)
ALTER DATABASE ENCRYPTION KEY (Transact-SQL)
DROP DATABASE ENCRYPTION KEY (Transact-SQL)
sys.dm_database_encryption_keys (Transact-SQL)

Community-Beiträge

HINZUFÜGEN
Anzeigen: