CREATE DATABASE ENCRYPTION KEY (Transact-SQL)

Crea una clave de cifrado que se utiliza para cifrar de forma transparente una base de datos. Para obtener más información acerca del cifrado transparente de bases de datos, vea Descripción del Cifrado de datos transparente (TDE).

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

Sintaxis

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

Argumentos

  • WITH ALGORITHM = { AES_128 | AES_192 | AES_256 | TRIPLE_DES_3KEY }
    Especifica el algoritmo de cifrado utilizado para la clave de cifrado.

  • ENCRYPTION BY SERVER CERTIFICATE Encryptor_Name
    Especifica el nombre del sistema de cifrado utilizado para cifrar la clave de cifrado.

  • ENCRYPTION BY SERVER ASYMMETRIC KEY Encryptor_Name
    Especifica el nombre de la clave asimétrica que se usa para cifrar la clave de cifrado.

Notas

Se requiere una clave de cifrado de la base de datos antes de que una base de datos se pueda cifrar mediante Cifrado transparente de bases de datos (TDE). Cuando se cifra una base de datos de forma transparente, toda la base de datos se cifra en el nivel de archivo, sin ninguna modificación especial de código. El certificado o clave asimétrica que se usa para cifrar la clave de cifrado de la base de datos se debe encontrar en la base de datos del sistema master.

Las instrucciones de cifrado de la base de datos se permiten únicamente en bases de datos de usuario.

La clave de cifrado de la base de datos no se puede exportar de la base de datos. Solo está disponible para el sistema, para los usuarios que tienen los permisos de depuración en el servidor y para los usuarios que tienen acceso a los certificados que cifran y descifran la clave de cifrado de la base de datos.

La clave de cifrado de la base de datos no tiene que regenerarse cuando se cambia el propietario de la base de datos (dbo).

Permisos

Requiere el permiso CONTROL en la base de datos y el permiso VIEW DEFINITION en el certificado o clave asimétrica utilizados para cifrar la clave de cifrado de la base de datos.

Ejemplos

Para obtener otros ejemplos con TDE, vea Descripción del Cifrado de datos transparente (TDE) y Cómo habilitar TDE con EKM.

A. Crear una clave de cifrado de la base de datos

En el siguiente ejemplo se crea una clave de cifrado de base de datos mediante el algoritmo AES_256 y se protege la clave privada con un certificado denominado MyServerCert.

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