CREATE DATABASE ENCRYPTION KEY (Transact-SQL)

Erstellt einen Verschlüsselungsschlüssel, der für die transparente Verschlüsselung einer Datenbank verwendet wird. Weitere Informationen über die transparente Datenbankverschlüsselung finden Sie unter Grundlegendes zur transparenten Datenverschlüsselung (TDE).

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

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

Argumente

  • 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.

  • ENCRYPTION BY SERVER CERTIFICATE Encryptor_Name
    Gibt den Namen der Verschlüsselung an, die zum Verschlüsseln des Verschlüsselungsschlüssels für die Datenbank verwendet wird.

  • ENCRYPTION BY SERVER ASYMMETRIC KEY Encryptor_Name
    Gibt den Namen des asymmetrischen Schlüssels an, der zum Verschlüsseln des Verschlüsselungsschlüssels für die Datenbank verwendet wird. Wenn der Datenbankverschlüsselungsschlüssel mit einem asymmetrischen Schlüssel verschlüsselt werden soll, muss sich der asymmetrische Schlüssel auf einem Anbieter für erweiterte Schlüsselverwaltung (Extensible Key Management, EKM) befinden.

Hinweise

Ein Verschlüsselungsschlüssel für eine Datenbank wird benötigt, bevor eine Datenbank unter Verwendung der transparenten Datenbankverschlüsselung (Transparent Database Encryption, TDE) verschlüsselt werden kann. 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.

Berechtigungen

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.

Beispiele

Weitere Beispiele zur Verwendung von TDE finden Sie unter Grundlegendes zur transparenten Datenverschlüsselung (TDE) und Vorgehensweise: Aktivieren von TDE unter Verwendung von EKM.

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 AdventureWorks2008R2;
GO
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = AES_256
ENCRYPTION BY SERVER CERTIFICATE MyServerCert;
GO