Compartir a través de


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 Cifrado de datos transparente (TDE).

Icono de vínculo a temas Convenciones 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 de base de datos. Para cifrar la clave de cifrado de la base de datos con una clave asimétrica, la clave asimétrica debe residir en un proveedor extensible de administración de claves.

Comentarios

Se requiere una clave de cifrado de la base de datos para 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 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 la clave asimétrica utilizados para cifrar la clave de cifrado de base de datos.

Ejemplos

Para obtener otros ejemplos con TDE, vea Cifrado de datos transparente (TDE) y Habilitar TDE con EKM.

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

Vea también

Referencia

Opciones de ALTER DATABASE SET (Transact-SQL)

ALTER DATABASE ENCRYPTION KEY (Transact-SQL)

DROP DATABASE ENCRYPTION KEY (Transact-SQL)

sys.dm_database_encryption_keys (Transact-SQL)

Conceptos

Cifrado de datos transparente (TDE)

Cifrado de SQL Server

SQL Server y claves de cifrado de base de datos (motor de base de datos)

Jerarquía de cifrado