Cifrado de datos transparente (TDE)Transparent Data Encryption (TDE)

Se aplica a:Applies to: síSQL ServerSQL Server (todas las versiones admitidas) yesSQL ServerSQL Server (all supported versions) SíAzure SQL DatabaseAzure SQL DatabaseYesAzure SQL DatabaseAzure SQL Database SíInstancia administrada de Azure SQLAzure SQL Managed InstanceYesInstancia administrada de Azure SQLAzure SQL Managed Instance síAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics síAlmacenamiento de datos paralelosParallel Data WarehouseyesAlmacenamiento de datos paralelosParallel Data WarehouseSe aplica a:Applies to: síSQL ServerSQL Server (todas las versiones admitidas) yesSQL ServerSQL Server (all supported versions) SíAzure SQL DatabaseAzure SQL DatabaseYesAzure SQL DatabaseAzure SQL Database SíInstancia administrada de Azure SQLAzure SQL Managed InstanceYesInstancia administrada de Azure SQLAzure SQL Managed Instance síAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics síAlmacenamiento de datos paralelosParallel Data WarehouseyesAlmacenamiento de datos paralelosParallel Data Warehouse

El Cifrado de datos transparente (TDE) cifra los archivos de datos de SQL ServerSQL Server, Azure SQL DatabaseAzure SQL Database y Azure Synapse Analytics (SQL Data Warehouse)Azure Synapse Analytics (SQL Data Warehouse),Transparent Data Encryption (TDE) encrypts SQL ServerSQL Server, Azure SQL DatabaseAzure SQL Database, and Azure Synapse Analytics (SQL Data Warehouse)Azure Synapse Analytics (SQL Data Warehouse) data files. lo que se conoce como cifrado de datos en reposo.This encryption is known as encrypting data at rest.

Para ayudar a proteger una base de datos, se pueden tomar precauciones como las siguientes:To help secure a database, you can take precautions like:

  • Diseñar un sistema seguroDesigning a secure system.
  • Cifrar los recursos confidencialesEncrypting confidential assets.
  • Crear un firewall en torno a los servidores de bases de datosBuilding a firewall around the database servers.

Con todo, alguien malintencionado que roba medios físicos como unidades o cintas de copia de seguridad puede restaurar la base de datos o conectarse a ella y examinar sus datos.But a malicious party who steals physical media like drives or backup tapes can restore or attach the database and browse its data.

Una solución sería cifrar los datos confidenciales en la base de datos y usar un certificado para proteger las claves con las que esos datos se cifran.One solution is to encrypt sensitive data in a database and use a certificate to protect the keys that encrypt the data. Esta solución impide que alguien que carezca de las claves use los datos.This solution prevents anyone without the keys from using the data. Este tipo de protección se debe planear de antemano.But you must plan this kind of protection in advance.

TDE realiza el cifrado y descifrado de E/S en tiempo real de los archivos de datos y de registro.TDE does real-time I/O encryption and decryption of data and log files. Este cifrado usa una clave de cifrado de la base de datos (DEK).The encryption uses a database encryption key (DEK). El registro de arranque de la base de datos almacena la clave para que esté disponible durante la recuperación.The database boot record stores the key for availability during recovery. La DEK es una clave simétrica.The DEK is a symmetric key. Está protegida por un certificado que la base de datos maestra del servidor almacena, o por una clave asimétrica que un módulo EKM protege.It's secured by a certificate that the server's master database stores or by an asymmetric key that an EKM module protects.

TDE protege los datos en reposo, que son los archivos de datos y de registro.TDE protects data at rest, which is the data and log files. Permite cumplir muchas leyes, normativas y directrices establecidas en diversos sectores.It lets you follow many laws, regulations, and guidelines established in various industries. Esto permite a los desarrolladores de software cifrar datos con algoritmos de cifrado AES y 3DES sin cambiar las aplicaciones existentes.This ability lets software developers encrypt data by using AES and 3DES encryption algorithms without changing existing applications.

Acerca de TDEAbout TDE

El cifrado de un archivo de base de datos se realiza en el nivel de página.Encryption of a database file is done at the page level. Las páginas de una base de datos cifrada se cifran antes de escribirse en el disco y se descifran cuando se leen en la memoria.The pages in an encrypted database are encrypted before they're written to disk and are decrypted when read into memory. TDE no aumenta el tamaño de la base de datos cifrada.TDE doesn't increase the size of the encrypted database.

Información aplicable a SQL DatabaseSQL DatabaseInformation applicable to SQL DatabaseSQL Database

Cuando TDE se usa con SQL DatabaseSQL Database V12, SQL DatabaseSQL Database crea automáticamente el certificado de nivel de servidor almacenado en la base de datos maestra.When you use TDE with SQL DatabaseSQL Database V12, SQL DatabaseSQL Database automatically creates for you the server-level certificate stored in the master database. Para mover una base de datos de TDE en SQL DatabaseSQL Database, no es necesario descifrarla para la operación de traslado.To move a TDE database on SQL DatabaseSQL Database, you don't have to decrypt the database for the move operation. Para obtener más información sobre cómo usar TDE con SQL DatabaseSQL Database, vea Cifrado de datos transparente para Azure SQL Database.For more information on using TDE with SQL DatabaseSQL Database, see Transparent Data Encryption with Azure SQL Database.

Información aplicable a SQL ServerSQL ServerInformation applicable to SQL ServerSQL Server

Después de proteger una base de datos, puede restaurarla con el certificado correcto que corresponda.After you secure a database, you can restore it by using the correct certificate. Para obtener más información acerca de los certificados, vea SQL Server Certificates and Asymmetric Keys.For more information about certificates, see SQL Server Certificates and Asymmetric Keys.

Después de habilitar TDE, haga inmediatamente una copia de seguridad del certificado y su clave privada asociada.After you enable TDE, immediately back up the certificate and its associated private key. Si el certificado dejara de estar disponible, o si la base de datos restaura o conecta en otro servidor, necesitará copias de seguridad del certificado y de la clave privadaIf the certificate becomes unavailable, or if you restore or attach the database on another server, you need backups of the certificate and private key. o, de lo contrario, no podrá abrir la base de datos.Otherwise, you can't open the database.

Conserve el certificado de cifrado aunque TDE esté deshabilitado en la base de datos.Keep the encrypting certificate even if you've disabled TDE on the database. Si bien la base de datos no está cifrada, puede que algunas partes del registro de transacciones sigan protegidas.Although the database isn't encrypted, parts of the transaction log might remain protected. También puede necesitar el certificado en algunas operaciones hasta que haga una copia de seguridad completa de la base de datos.You also might need the certificate for some operations until you do a full database backup.

Un certificado que ha excedido su fecha de expiración se puede seguir usando para cifrar y descifrar datos con TDE.You can still use a certificate that exceeds its expiration date to encrypt and decrypt data with TDE.

Jerarquía de cifradoEncryption hierarchy

En la siguiente ilustración se muestra la arquitectura del cifrado TDE.The following illustration shows the architecture of TDE encryption. Solo los elementos de nivel de base de datos (las partes de ALTER DATABASE y la clave de cifrado de base de datos) son configurables por el usuario cuando se usa TDE en SQL DatabaseSQL Database).Only the database-level items (the database encryption key and ALTER DATABASE portions) are user-configurable when you use TDE on SQL DatabaseSQL Database.

Arquitectura del cifrado de base de datos transparente

Habilitación de TDEEnable TDE

Para usar TDE, siga estos pasos.To use TDE, follow these steps.

Se aplica a: SQL ServerSQL Server.Applies to: SQL ServerSQL Server.

  1. Cree una clave maestra.Create a master key.

  2. Cree u obtenga un certificado protegido por la clave maestra.Create or obtain a certificate protected by the master key.

  3. Cree una clave de cifrado de base de datos y protéjala con el certificado.Create a database encryption key and protect it by using the certificate.

  4. Configure la base de datos para que use el cifrado.Set the database to use encryption.

En el siguiente ejemplo se muestra cómo cifrar y descifrar la base de datos AdventureWorks2012 con un certificado denominado MyServerCert instalado en el servidor.The following example shows encryption and decryption of the AdventureWorks2012 database using a certificate named MyServerCert that's installed on the server.

USE master;
GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<UseStrongPasswordHere>';
go
CREATE CERTIFICATE MyServerCert WITH SUBJECT = 'My DEK Certificate';
go
USE AdventureWorks2012;
GO
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = AES_128
ENCRYPTION BY SERVER CERTIFICATE MyServerCert;
GO
ALTER DATABASE AdventureWorks2012
SET ENCRYPTION ON;
GO

SQL ServerSQL Serverprograma las operaciones de cifrado y descifrado en subprocesos que se ejecutan en segundo plano.The encryption and decryption operations are scheduled on background threads by SQL ServerSQL Server. Para ver el estado de estas operaciones, use las vistas de catálogo y las vistas de administración dinámica de la tabla que se muestra más adelante en este artículo.To view the status of these operations, use the catalog views and dynamic management views in the table that appears later in this article.

Precaución

Los archivos de copia de seguridad de las bases de datos que tienen TDE habilitado también se cifran con la clave de cifrado de la base de datos.Backup database files that have TDE enabled are also encrypted with the database encryption key. En consecuencia, cuando se restauren estas copias de seguridad, el certificado que protege la clave de cifrado de la base de datos deberá estar disponible.As a result, when you restore these backups, the certificate that protects the database encryption key must be available. Por lo tanto, además de hacer copias de seguridad de la base de datos, asegúrese de conservar también copias de seguridad de los certificados de servidor.Therefore, in addition to backing up the database, make sure to maintain backups of the server certificates. Si los certificados dejan de estar disponible, perderá los datos.Data loss results if the certificates are no longer available.

Para obtener más información, consulte SQL Server Certificates and Asymmetric Keys.For more information, see SQL Server Certificates and Asymmetric Keys.

Comandos y funcionesCommands and functions

Para que en las siguientes instrucciones se acepten certificados TDE, use una clave maestra de base de datos para cifrarlos.For the following statements to accept TDE certificates, use a database master key to encrypt them. Si solamente se cifran con una contraseña, las instrucciones los rechazarán como sistemas de cifrado.If you encrypt them by password only, the statements reject them as encryptors.

Importante

Si protege los certificados con contraseña después de que TDE los use, la base de datos dejará de estar accesible cuando se reinicie.If you make the certificates password protected after TDE uses them, the database becomes inaccessible after a restart.

En la siguiente tabla encontrará vínculos y explicaciones de los comandos y funciones de TDE:The following table provides links and explanations of TDE commands and functions:

Comando o funciónCommand or function PropósitoPurpose
CREATE DATABASE ENCRYPTION KEY (Transact-SQL)CREATE DATABASE ENCRYPTION KEY (Transact-SQL) Crea una clave que cifra una base de datos.Creates a key that encrypts a database
ALTER DATABASE ENCRYPTION KEY (Transact-SQL)ALTER DATABASE ENCRYPTION KEY (Transact-SQL) Cambia la clave que cifra una base de datos.Changes the key that encrypts a database
DROP DATABASE ENCRYPTION KEY (Transact-SQL)DROP DATABASE ENCRYPTION KEY (Transact-SQL) Quita la clave que cifra una base de datos.Removes the key that encrypts a database
Opciones de ALTER DATABASE SET (Transact-SQL)ALTER DATABASE SET Options (Transact-SQL) Explica la opción ALTER DATABASE que se usa para habilitar TDE.Explains the ALTER DATABASE option that is used to enable TDE

Vistas de catálogo y vistas de administración dinámicaCatalog views and dynamic management views

En la tabla siguiente se muestran las vistas de catálogo y las vistas de administración dinámica de TDE.The following table shows TDE catalog views and dynamic management views.

Vista de catálogo o vista de administración dinámicaCatalog view or dynamic management view PropósitoPurpose
sys.databases (Transact-SQL)sys.databases (Transact-SQL) Vista de catálogo que muestra información sobre las bases de datosCatalog view that displays database information
sys.certificates (Transact-SQL)sys.certificates (Transact-SQL) Vista de catálogo que muestra los certificados de una base de datosCatalog view that shows the certificates in a database
sys.dm_database_encryption_keys (Transact-SQL)sys.dm_database_encryption_keys (Transact-SQL) Vista de administración dinámica que proporciona información sobre las claves de cifrado y el estado de cifrado de una base de datosDynamic management view that provides information about a database's encryption keys and state of encryption

PermisosPermissions

Cada una de las características y comandos de TDE tiene sus propios requisitos de permisos, como se describe en las tablas mostradas anteriormente.Each TDE feature and command has individual permission requirements as described in the tables shown earlier.

Para ver los metadatos relacionados con TDE, se requiere el permiso VIEW DEFINITION en un certificado.Viewing the metadata involved with TDE requires the VIEW DEFINITION permission on a certificate.

ConsideracionesConsiderations

Mientras se realiza el examen del proceso de nuevo cifrado para una operación de cifrado de base de datos, las operaciones de mantenimiento de la base de datos están deshabilitadas.While a re-encryption scan for a database encryption operation is in progress, maintenance operations to the database are disabled. Puede configurar la base de datos en modo de usuario único si quiere realizar la operación de mantenimiento.You can use the single-user mode setting for the database to do maintenance operations. Para obtener más información, vea Establecer una base de datos en modo de usuario único.For more information, see Set a Database to Single-user Mode.

Para encontrar el estado del cifrado de una base de datos, use la vista de administración dinámica sys.dm_database_encryption_keys.Use the sys.dm_database_encryption_keys dynamic management view to find the state of database encryption. Para obtener más información, vea la sección "Vistas de catálogo y vistas de administración dinámica", anteriormente en este artículo.For more information, see the "Catalog views and dynamic management views" section earlier in this article.

En TDE, se cifran todos los archivos y grupos de archivos de una base de datos.In TDE, all files and filegroups in a database are encrypted. Si algún grupo de archivos de una base de datos está marcado como READ ONLY, se producirá un error en la operación de cifrado de la base de datos.If any filegroup in a database is marked READ ONLY, the database encryption operation fails.

Si una base de datos se usa en una creación de reflejo de la base de datos o en un trasvase de registros, se cifran ambas bases de datos.If you use a database in database mirroring or log shipping, both databases are encrypted. Las transacciones del registro se cifran cuando se envíen entre ellas.The log transactions are encrypted when sent between them.

Importante

Los índices de texto completo se cifran cuando una base de datos esté configurada para cifrarse.Full-text indexes are encrypted when a database is set for encryption. Estos índices creados en una versión de SQL Server anterior a SQL Server 2008 se importan a la base de datos con SQL Server 2008 o posterior y se cifran con TDE.Such indexes created in a SQL Server version earlier than SQL Server 2008 are imported into the database by SQL Server 2008 or later and are encrypted by TDE.

Sugerencia

Para supervisar los cambios en el estado TDE de una base de datos, use SQL Server Audit o SQL Database Auditing.To monitor changes in the TDE status of a database, use SQL Server Audit or SQL Database auditing. En SQL Server, el seguimiento de TDE se realiza en el grupo de acción de auditoría DATABASE_CHANGE_GROUP, que está en Grupos de acciones y acciones de SQL Server Audit.For SQL Server, TDE is tracked under the audit action group DATABASE_CHANGE_GROUP, which you can find in SQL Server Audit Action Groups and Actions.

RestriccionesRestrictions

Durante el cifrado inicial de la base de datos, un cambio clave o un descifrado de una base de datos no se pueden realizar las siguientes operaciones:The following operations are disallowed during initial database encryption, key change, or database decryption:

  • Quitar un archivo de un grupo de archivos de una base de datosDropping a file from a filegroup in a database

  • Quitar una base de datosDropping a database

  • Dejar sin conexión una base de datosTaking a database offline

  • Separar la base de datos.Detaching a database

  • Pasar la base de datos o el grupo de archivos al estado READ ONLY.Transitioning a database or filegroup into a READ ONLY state

Durante la ejecución de las instrucciones CREATE DATABASE ENCRYPTION KEY, ALTER DATABASE ENCRYPTION KEY, DROP DATABASE ENCRYPTION KEY y ALTER DATABASE...SET ENCRYPTION no se pueden realizar las siguientes operaciones:The following operations are disallowed during the CREATE DATABASE ENCRYPTION KEY, ALTER DATABASE ENCRYPTION KEY, DROP DATABASE ENCRYPTION KEY, and ALTER DATABASE...SET ENCRYPTION statements:

  • Quitar un archivo de un grupo de archivos de una base de datosDropping a file from a filegroup in a database

  • Quitar una base de datosDropping a database

  • Dejar sin conexión una base de datosTaking a database offline

  • Separar la base de datos.Detaching a database

  • Pasar la base de datos o el grupo de archivos al estado READ ONLY.Transitioning a database or filegroup into a READ ONLY state

  • Usar un comando ALTER DATABASEUsing an ALTER DATABASE command

  • Iniciar una copia de seguridad de base de datos o de archivos de base de datosStarting a database or database-file backup

  • Iniciar una restauración de base de datos o de archivos de base de datosStarting a database or database-file restore

  • Crear una instantáneaCreating a snapshot

Las siguientes operaciones o condiciones impedirán la ejecución de las instrucciones CREATE DATABASE ENCRYPTION KEY, ALTER DATABASE ENCRYPTION KEY, DROP DATABASE ENCRYPTION KEY y ALTER DATABASE...SET ENCRYPTION:The following operations or conditions prevent the CREATE DATABASE ENCRYPTION KEY, ALTER DATABASE ENCRYPTION KEY, DROP DATABASE ENCRYPTION KEY, and ALTER DATABASE...SET ENCRYPTION statements:

  • La base de datos o alguno de sus grupos de archivos son de solo lectura.A database is read-only or has read-only filegroups.

  • Se está ejecutando un comando ALTER DATABASE.An ALTER DATABASE command is running.

  • Se está haciendo una copia de seguridad de los datos.A data backup is running.

  • Una base de datos está sin conexión o en restauración.A database is in an offline or restore condition.

  • Se está realizando una instantánea.A snapshot is in progress.

  • Se están realizando tareas de mantenimiento en la base de datos.Database maintenance tasks are running.

Al crear archivos de base de datos, la inicialización instantánea de archivos no estará disponible si TDE está habilitado.When database files are created, instant file initialization is unavailable when TDE is enabled.

Para cifrar una clave de cifrado de la base de datos con una clave asimétrica, la clave asimétrica debe estar en un proveedor extensible de administración de claves.To encrypt a database encryption key with an asymmetric key, the asymmetric key must be on an extensible key-management provider.

Examen de TDETDE scan

Para habilitar TDE en una base de datos, SQL ServerSQL Server debe realizar un examen de cifrado.To enable TDE on a database, SQL ServerSQL Server must do an encryption scan. Este examen lee cada página de los archivos de datos en el grupo de búferes y, tras ello, vuelve a escribir las páginas cifradas en el disco.The scan reads each page from the data files into the buffer pool and then writes the encrypted pages back out to disk.

Para proporcionarle más control sobre el examen de cifrado, SQL Server 2019 (15.x)SQL Server 2019 (15.x) incluye el examen de TDE, que tiene sintaxis de suspensión y reanudación.To give you more control over the encryption scan, SQL Server 2019 (15.x)SQL Server 2019 (15.x) introduces TDE scan, which has a suspend and resume syntax. Así, el examen se puede pausar cuando la carga de trabajo del sistema sea muy intensa o durante las horas críticas del negocio y reanudarlo más adelante.You can pause the scan while the workload on the system is heavy or during business-critical hours and then resume the scan later.

Use la siguiente sintaxis para poner en pausa el análisis de cifrado TDE:Use the following syntax to pause the TDE encryption scan:

ALTER DATABASE <db_name> SET ENCRYPTION SUSPEND;

De igual modo, use la siguiente sintaxis para reanudarlo:Similarly, use the following syntax to resume the TDE encryption scan:

ALTER DATABASE <db_name> SET ENCRYPTION RESUME;

La columna encryption_scan_state se ha agregado a la vista de administración dinámica sys.dm_database_encryption_keys.The encryption_scan_state column has been added to the sys.dm_database_encryption_keys dynamic management view. En ella se muestra el estado actual del examen de cifrado.It shows the current state of the encryption scan. También hay una columna nueva llamada encryption_scan_modify_date que contiene la fecha y la hora del último cambio de estado del examen de cifrado.There's also a new column called encryption_scan_modify_date, which contains the date and time of the last encryption-scan state change.

Si la instancia de SQL ServerSQL Server se reinicia mientras su examen de cifrado está en pausa, se registrará un mensaje en el registro de errores al iniciarse.If the SQL ServerSQL Server instance restarts while its encryption scan is suspended, a message is logged in the error log on startup. El mensaje indica que un examen existente está en pausa.The message indicates that an existing scan has been paused.

TDE y los registros de transaccionesTDE and transaction logs

Al permitir que una base de datos use TDE, se quita la parte restante del registro de transacciones virtual actual.Letting a database use TDE removes the remaining part of the current virtual transaction log. Esta eliminación fuerza la creación del siguiente registro de transacciones.The removal forces creation of the next transaction log. Este comportamiento procura que no quede ningún texto sin cifrar en los registros una vez configurada la base de datos para el cifrado.This behavior guarantees that no clear text is left in the logs after the database is set for encryption.

Para ver el estado del cifrado del archivo de registro, consulte la columna encryption_state de la vista sys.dm_database_encryption_keys, como en este ejemplo:To find the status of log-file encryption, see the encryption_state column in the sys.dm_database_encryption_keys view, as in this example:

USE AdventureWorks2012;
GO
/* The value 3 represents an encrypted state
   on the database and transaction logs. */
SELECT *
FROM sys.dm_database_encryption_keys
WHERE encryption_state = 3;
GO

Para obtener más información sobre la arquitectura de los archivos de registro de SQL ServerSQL Server, vea El registro de transacciones (SQL Server).For more information about the SQL ServerSQL Server log-file architecture, see The Transaction Log (SQL Server).

Antes de que una clave de cifrado de base de datos cambie, la clave de cifrado de base de datos anterior cifrará todos los datos escritos en el registro de transacciones.Before a database encryption key changes, the previous database encryption key encrypts all data written to the transaction log.

Si cambia una clave de cifrado de base de datos dos veces, debe hacer una copia de seguridad de los registros para poder volver a cambiarla.If you change a database encryption key twice, you must do a log backup before you can change the database encryption key again.

TDE y la base de datos del sistema tempdbTDE and the tempdb system database

La base de datos del sistema tempdb se cifra si alguna otra base de datos de la instancia de SQL ServerSQL Server está cifrada con TDE.The tempdb system database is encrypted if any other database on the SQL ServerSQL Server instance is encrypted by using TDE. Este cifrado podría tener un efecto en el rendimiento de las bases de datos no cifradas de la misma instancia de SQL ServerSQL Server.This encryption might have a performance effect for unencrypted databases on the same SQL ServerSQL Server instance. Para obtener más información sobre la base de datos del sistema tempdb, vea Base de datos tempdb.For more information about the tempdb system database, see tempdb Database.

TDE y la replicaciónTDE and replication

La replicación no replica automáticamente los datos de una base de datos habilitada para TDE en un formato cifrado.Replication doesn't automatically replicate data from a TDE-enabled database in an encrypted form. Habilite TDE por separado si quiere proteger las bases de datos de suscriptor y de distribución.Separately enable TDE if you want to protect distribution and subscriber databases.

La replicación de instantáneas puede almacenar datos en archivos intermedios sin cifrar, como archivos BCP,Snapshot replication can store data in unencrypted intermediate files like BCP files. como también lo hace la distribución de datos inicial para la replicación transaccional y de mezcla.The initial data distribution for transactional and merge replication can too. Durante dicha replicación, se puede habilitar el cifrado para proteger el canal de comunicación.During such replication, you can enable encryption to protect the communication channel.

Para obtener más información, vea Habilitar conexiones cifradas en el motor de base de datos (Administrador de configuración de SQL Server).For more information, see Enable Encrypted Connections to the Database Engine (SQL Server Configuration Manager).

TDE y Always OnTDE and Always On

Puede agregar una base de datos cifrada a un Grupo de disponibilidad AlwaysOn.You can add an encrypted database to an Always On availability group.

Para cifrar las bases de datos que forman parte de un grupo de disponibilidad, cree la clave maestra y los certificados, o bien la clave asimétrica (EKM) en todas las réplicas secundarias antes de crear la clave de cifrado de base de datos en la réplica principal.To encrypt databases that are part of an availability group, create the master key and certificates, or asymmetric key (EKM) on all secondary replicas before creating the database encryption key on the primary replica.

Si se usa un certificado para proteger la clave de cifrado de base de datos (DEK), realice una copia de seguridad del certificado en la réplica principal y, después, cree el certificado desde un archivo en todas las réplicas secundarias antes de crear la clave de cifrado de base de datos en la réplica principal.If a certificate is used to protect the database encryption key (DEK), back up the certificate created on the primary replica, and then create the certificate from a file on all secondary replicas before creating the database encryption key on the primary replica.

TDE y los datos FILESTREAMTDE and FILESTREAM data

Los datos FILESTREAM no se cifran ni siquiera cuando TDE se habilita.FILESTREAM data isn't encrypted even when you enable TDE.

Eliminación de TDERemove TDE

Use la instrucción ALTER DATABASE para quitar el cifrado de la base de datos.Remove encryption from the database by using the ALTER DATABASE statement.

ALTER DATABASE <db_name> SET ENCRYPTION OFF;

Para ver el estado de la base de datos, use la vista de administración dinámica sys.dm_database_encryption_keys.To view the state of the database, use the sys.dm_database_encryption_keys dynamic management view.

Espere a que finalice el descifrado antes de quitar la clave de cifrado de la base de datos mediante DROP DATABASE ENCRYPTION KEY.Wait for decryption to finish before removing the database encryption key by using DROP DATABASE ENCRYPTION KEY.

Importante

Realice una copia de seguridad de la clave maestra y el certificado que se usan para TDE en una ubicación segura.Back up the master key and certificate that are used for TDE to a safe location. La clave maestra y el certificado son necesarios para restaurar las copias de seguridad que se han realizado al cifrar la base de datos con TDE.The master key and certificate are required to restore backups that were taken when the database was encrypted with TDE. Después de quitar la clave de cifrado de base de datos, realice una copia de seguridad de registros seguida de una nueva copia de seguridad completa de la base de datos descifrada.After you remove the database encryption key, take a log backup followed by a fresh full backup of the decrypted database.

TDE y la extensión del grupo de búferesTDE and buffer pool extension

Cuando una base de datos se cifra con TDE, los archivos relacionados con la extensión del grupo de búferes (BPE) no se cifran.When you encrypt a database using TDE, files related to buffer pool extension (BPE) aren't encrypted. Con esos archivos, use herramientas de cifrado como BitLocker o EFS en el nivel del sistema de archivos.For those files, use encryption tools like BitLocker or EFS at the file-system level.

TDE y OLTP en memoriaTDE and In-Memory OLTP

TDE se puede habilitar en una base de datos que tenga objetos de OLTP en memoria.You can enable TDE on a database that has In-Memory OLTP objects. En SQL Server 2016 (13.x)SQL Server 2016 (13.x) y Azure SQL DatabaseAzure SQL Database, los datos y registros de OLTP en memoria se cifran si TDE está habilitado.In SQL Server 2016 (13.x)SQL Server 2016 (13.x) and Azure SQL DatabaseAzure SQL Database, In-Memory OLTP log records and data are encrypted if you enable TDE. En SQL Server 2014 (12.x)SQL Server 2014 (12.x), los registros de OLTP en memoria se cifran si TDE está habilitado, pero no los archivos del grupo de archivos MEMORY_OPTIMIZED_DATA.In SQL Server 2014 (12.x)SQL Server 2014 (12.x), In-Memory OLTP log records are encrypted if you enable TDE, but files in the MEMORY_OPTIMIZED_DATA filegroup are unencrypted.

Mover una base de datos protegida por TDE a otra instancia de SQL ServerMove a TDE Protected Database to Another SQL Server
Habilitar TDE en SQL Server con EKMEnable TDE on SQL Server Using EKM
Administración extensible de claves con Azure Key Vault (SQL Server)Extensible Key Management Using Azure Key Vault (SQL Server)

Cifrado de datos transparente con Azure SQL DatabaseTransparent Data Encryption with Azure SQL Database
Introducción al cifrado de datos transparente (TDE) en SQL Data WarehouseGet started with Transparent Data Encryption (TDE) on SQL Data Warehouse
Cifrado de SQL ServerSQL Server Encryption
SQL Server y claves de cifrado de base de datos (motor de base de datos)SQL Server and Database Encryption Keys (Database Engine)

Consulte tambiénSee also

Centro de seguridad para el Motor de base de datos de SQL Server y Azure SQL DatabaseSecurity Center for SQL Server Database Engine and Azure SQL Database
FILESTREAM (SQL Server)FILESTREAM (SQL Server)