Criptografia de Dados Transparente (TDE)Transparent Data Encryption (TDE)

Aplica-se a:Applies to: simSQL ServerSQL Server (todas as versões compatíveis) yesSQL ServerSQL Server (all supported versions) SimBanco de Dados SQL do AzureAzure SQL DatabaseYesBanco de Dados SQL do AzureAzure SQL Database SimInstância Gerenciada do Azure SQLAzure SQL Managed InstanceYesInstância Gerenciada do Azure SQLAzure SQL Managed Instance simAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics simParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel Data WarehouseAplica-se a:Applies to: simSQL ServerSQL Server (todas as versões compatíveis) yesSQL ServerSQL Server (all supported versions) SimBanco de Dados SQL do AzureAzure SQL DatabaseYesBanco de Dados SQL do AzureAzure SQL Database SimInstância Gerenciada do Azure SQLAzure SQL Managed InstanceYesInstância Gerenciada do Azure SQLAzure SQL Managed Instance simAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics simParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel Data Warehouse

A Transparent Data Encryption (TDE) criptografa os arquivos de dados SQL ServerSQL Server, Banco de Dados SQL do AzureAzure SQL Database e Azure Synapse Analytics (SQL Data Warehouse)Azure Synapse Analytics (SQL Data Warehouse).Transparent Data Encryption (TDE) encrypts SQL ServerSQL Server, Banco de Dados SQL do AzureAzure SQL Database, and Azure Synapse Analytics (SQL Data Warehouse)Azure Synapse Analytics (SQL Data Warehouse) data files. Essa criptografia é conhecida como criptografia de dados em repouso.This encryption is known as encrypting data at rest.

Para ajudar a proteger um banco de dados, você pode tomar precauções como:To help secure a database, you can take precautions like:

  • Projetar um sistema seguro.Designing a secure system.
  • Criptografar ativos confidenciais.Encrypting confidential assets.
  • Criar um firewall em todos os servidores de banco de dados.Building a firewall around the database servers.

Mas uma parte mal-intencionada que rouba mídia física, como unidades ou fitas de backup, pode restaurar ou anexar o banco de dados e navegar em seus dados.But a malicious party who steals physical media like drives or backup tapes can restore or attach the database and browse its data.

Uma solução é criptografar dados confidenciais em um banco de dados e usar um certificado para proteger as chaves que criptografam os dados.One solution is to encrypt sensitive data in a database and use a certificate to protect the keys that encrypt the data. Essa solução impede que alguém sem as chaves use os dados.This solution prevents anyone without the keys from using the data. Mas você deve planejar esse tipo de proteção com antecedência.But you must plan this kind of protection in advance.

A TDE realiza a criptografia e a descriptografia de E/S em tempo real dos arquivos de log e de dados.TDE does real-time I/O encryption and decryption of data and log files. A criptografia usa uma DEK (chave de criptografia de banco de dados).The encryption uses a database encryption key (DEK). O registro de inicialização do banco de dados armazena a chave para disponibilidade durante a recuperação.The database boot record stores the key for availability during recovery. O DEK é uma chave simétrica.The DEK is a symmetric key. Ele é protegido por um certificado que o banco de dados mestre do servidor armazena ou por uma chave assimétrica que o 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.

A TDE protege os dados "em repouso", que são os dados e os arquivos de log.TDE protects data at rest, which is the data and log files. Ele permite que você siga muitas leis, regulamentos e diretrizes estabelecidos em vários setores.It lets you follow many laws, regulations, and guidelines established in various industries. Isso permite que os desenvolvedores de software criptografem dados usando algoritmos de criptografia AES e 3DES, sem alterar os aplicativos existentes.This ability lets software developers encrypt data by using AES and 3DES encryption algorithms without changing existing applications.

Sobre a TDEAbout TDE

A criptografia de um arquivo de banco de dados é feita no nível da página.Encryption of a database file is done at the page level. As páginas em um banco de dados criptografado são criptografadas antes de serem gravadas no disco e descriptografadas quando lidas na memória.The pages in an encrypted database are encrypted before they're written to disk and are decrypted when read into memory. A TDE não aumenta o tamanho do banco de dados criptografado.TDE doesn't increase the size of the encrypted database.

Informações aplicáveis a Banco de Dados SQLSQL DatabaseInformation applicable to Banco de Dados SQLSQL Database

Quando você usa o TDE com o Banco de Dados SQLSQL Database V12, o Banco de Dados SQLSQL Database cria automaticamente para você o certificado no nível de servidor armazenado no banco de dados mestre.When you use TDE with Banco de Dados SQLSQL Database V12, Banco de Dados SQLSQL Database automatically creates for you the server-level certificate stored in the master database. Para mover um banco de dados TDE no Banco de Dados SQLSQL Database, não é necessário descriptografar o banco de dados para a operação de movimentação.To move a TDE database on Banco de Dados SQLSQL Database, you don't have to decrypt the database for the move operation. Para obter mais informações sobre como usar a TDE com Banco de Dados SQLSQL Database, confira Transparent Data Encryption com o Banco de Dados SQL do Azure.For more information on using TDE with Banco de Dados SQLSQL Database, see Transparent Data Encryption with Azure SQL Database.

Informações aplicáveis a SQL ServerSQL ServerInformation applicable to SQL ServerSQL Server

Depois de proteger um banco de dados, você pode restaurá-lo usando o certificado correto.After you secure a database, you can restore it by using the correct certificate. Para obter mais informações sobre certificados, consulte SQL Server Certificates and Asymmetric Keys.For more information about certificates, see SQL Server Certificates and Asymmetric Keys.

Depois de habilitar o TDE, faça backup imediatamente do certificado e de sua chave privada associada.After you enable TDE, immediately back up the certificate and its associated private key. Se o certificado ficar não disponível ou se você restaurar ou anexar o banco de dados em outro servidor, precisará de backups do certificado e da chave privada.If the certificate becomes unavailable, or if you restore or attach the database on another server, you need backups of the certificate and private key. Caso contrário, você não poderá abrir o banco de dados.Otherwise, you can't open the database.

Mantenha o certificado de criptografia mesmo se você tiver desabilitado o TDE no banco de dados.Keep the encrypting certificate even if you've disabled TDE on the database. Embora o banco de dados não esteja criptografado, partes do log de transações podem permanecer protegidas.Although the database isn't encrypted, parts of the transaction log might remain protected. Você também pode precisar do certificado para algumas operações até fazer um backup completo do banco de dados.You also might need the certificate for some operations until you do a full database backup.

Você ainda pode usar um certificado que exceda sua data de validade para criptografar e descriptografar dados com o TDE.You can still use a certificate that exceeds its expiration date to encrypt and decrypt data with TDE.

Hierarquia de criptografiaEncryption hierarchy

A ilustração a seguir mostra a arquitetura de criptografia da TDE.The following illustration shows the architecture of TDE encryption. Somente os itens de nível de banco de dados (a chave de criptografia do banco de dados e partes de ALTER DATABASE) são configuráveis pelo usuário quando você usa o TDE em Banco de Dados SQLSQL Database.Only the database-level items (the database encryption key and ALTER DATABASE portions) are user-configurable when you use TDE on Banco de Dados SQLSQL Database.

A arquitetura Transparent Database Encryption

Habilitar a TDEEnable TDE

Para usar a TDE, execute estes procedimentos.To use TDE, follow these steps.

Aplica-se a: SQL ServerSQL Server.Applies to: SQL ServerSQL Server.

  1. Crie uma chave mestra.Create a master key.

  2. Crie ou obtenha um certificado protegido pela chave mestra.Create or obtain a certificate protected by the master key.

  3. Crie uma chave de criptografia de banco de dados e proteja-a usando o certificado.Create a database encryption key and protect it by using the certificate.

  4. Defina o banco de dados para usar criptografia.Set the database to use encryption.

O exemplo a seguir mostra a criptografia e a descriptografia do banco de dados AdventureWorks2012 usando um certificado chamado MyServerCert que está instalado no 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

As operações de criptografia e descriptografia são agendadas em threads em segundo plano pelo SQL ServerSQL Server.The encryption and decryption operations are scheduled on background threads by SQL ServerSQL Server. Para ver o status dessas operações, use as exibições do catálogo e de gerenciamento dinâmico na tabela mostrada posteriormente neste artigo.To view the status of these operations, use the catalog views and dynamic management views in the table that appears later in this article.

Cuidado

Arquivos de backup para banco de dados que têm a TDE habilitada também são criptografados com a chave de criptografia do banco de dados.Backup files for databases that have TDE enabled are also encrypted with the database encryption key. Como resultado, quando você restaura esses backups, o certificado que protege a chave de criptografia do banco de dados deve estar disponível.As a result, when you restore these backups, the certificate that protects the database encryption key must be available. Portanto, além de fazer backup do banco de dados, mantenha os backups dos certificados do servidor.Therefore, in addition to backing up the database, make sure to maintain backups of the server certificates. Ocorre perda de dados se os certificados não estão mais disponíveis.Data loss results if the certificates are no longer available.

Para obter mais informações, consulte SQL Server Certificates and Asymmetric Keys.For more information, see SQL Server Certificates and Asymmetric Keys.

Comandos e funçõesCommands and functions

Para as instruções a seguir aceitarem certificados TDE, use uma chave mestra de banco de dados para criptografá-los.For the following statements to accept TDE certificates, use a database master key to encrypt them. Se você criptografá-los apenas por senha, as instruções os rejeitarão como criptografadores.If you encrypt them by password only, the statements reject them as encryptors.

Importante

Se você tornar os certificados protegidos por senha depois que a TDE os usar, o banco de dados ficará inacessível após uma reinicialização.If you make the certificates password protected after TDE uses them, the database becomes inaccessible after a restart.

A seguinte tabela fornece links e explicações de comandos e funções da TDE:The following table provides links and explanations of TDE commands and functions:

Comando ou funçãoCommand or function FinalidadePurpose
CREATE DATABASE ENCRYPTION KEY (Transact-SQL)CREATE DATABASE ENCRYPTION KEY (Transact-SQL) Cria uma chave que criptografa um banco de dadosCreates a key that encrypts a database
ALTER DATABASE ENCRYPTION KEY (Transact-SQL)ALTER DATABASE ENCRYPTION KEY (Transact-SQL) Altera a chave que criptografa um banco de dadosChanges the key that encrypts a database
DROP DATABASE ENCRYPTION KEY (Transact-SQL)DROP DATABASE ENCRYPTION KEY (Transact-SQL) Remove a chave que criptografa um banco de dadosRemoves the key that encrypts a database
Opções ALTER DATABASE SET (Transact-SQL)ALTER DATABASE SET Options (Transact-SQL) Explica a opção ALTER DATABASE usada para habilitar a TDEExplains the ALTER DATABASE option that is used to enable TDE

Exibições do catálogo e exibições de gerenciamento dinâmicoCatalog views and dynamic management views

A tabela a seguir mostra exibições do catálogo de TDE e exibições de gerenciamento dinâmico.The following table shows TDE catalog views and dynamic management views.

Exibição do catálogo ou exibição de gerenciamento dinâmicoCatalog view or dynamic management view FinalidadePurpose
sys.databases (Transact-SQL)sys.databases (Transact-SQL) Exibição do catálogo que mostra informações do banco de dadosCatalog view that displays database information
sys.certificates (Transact-SQL)sys.certificates (Transact-SQL) Exibição do catálogo que mostra os certificados em um banco de dadosCatalog view that shows the certificates in a database
sys.dm_database_encryption_keys (Transact-SQL)sys.dm_database_encryption_keys (Transact-SQL) Exibição de gerenciamento dinâmico que fornece informações sobre chaves de criptografia e estado de criptografia de um banco de dadosDynamic management view that provides information about a database's encryption keys and state of encryption

PermissõesPermissions

Cada recurso e comando da TDE têm requisitos individuais de permissões, conforme descrito nas tabelas anteriores.Each TDE feature and command has individual permission requirements as described in the tables shown earlier.

A exibição de metadados envolvidos com TDE requer a permissão VIEW DEFINITION em um certificado.Viewing the metadata involved with TDE requires the VIEW DEFINITION permission on a certificate.

ConsideraçõesConsiderations

Quando um exame de recriptografia para uma operação de criptografia de banco de dados está em andamento, as operações de manutenção no banco de dados são desabilitadas.While a re-encryption scan for a database encryption operation is in progress, maintenance operations to the database are disabled. Você pode usar a configuração de modo de usuário único para o banco de dados executar as operações de manutenção.You can use the single-user mode setting for the database to do maintenance operations. Para obter mais informações, veja Definir um banco de dados como modo de usuário único.For more information, see Set a Database to Single-user Mode.

Use o modo de exibição de gerenciamento dinâmico sys.dm_database_encryption_keys para descobrir o estado da criptografia de banco de dados.Use the sys.dm_database_encryption_keys dynamic management view to find the state of database encryption. Para obter mais informações, veja a seção "Exibições de catálogo e exibições de gerenciamento dinâmico" no início deste artigo.For more information, see the "Catalog views and dynamic management views" section earlier in this article.

Na TDE, todos os arquivos e os grupos de arquivos em um banco de dados são criptografados.In TDE, all files and filegroups in a database are encrypted. Se qualquer grupo de arquivos em um banco de dados estiver marcado como somente leitura, a operação de criptografia de banco de dados falhará.If any filegroup in a database is marked READ ONLY, the database encryption operation fails.

Se você usar um banco de dados no espelhamento de banco de dados ou no envio de logs, ambos os bancos serão criptografados.If you use a database in database mirroring or log shipping, both databases are encrypted. As transações de logs são criptografadas quando enviadas entre eles.The log transactions are encrypted when sent between them.

Importante

Índices de texto completo novos são criptografados quando um banco de dados for definido para criptografia.Full-text indexes are encrypted when a database is set for encryption. Esses índices criados em uma versão SQL Server anterior ao SQL Server 2008 são importados para o banco de dados do SQL Server 2008 ou posterior e são criptografados pelo 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.

Dica

Para monitorar alterações no status de TDE do banco de dados, use a Auditoria do SQL Server ou a auditoria de Banco de Dados SQL.To monitor changes in the TDE status of a database, use SQL Server Audit or SQL Database auditing. Para o SQL Server, o TDE é controlado no grupo de ações de auditoria DATABASE_CHANGE_GROUP, que você pode encontrar em Ações e grupos de ações de auditoria do SQL Server.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.

RestriçõesRestrictions

As seguintes operações são proibidas durante criptografia de banco de dados inicial, alteração de chave ou descriptografia de banco de dados:The following operations are disallowed during initial database encryption, key change, or database decryption:

  • Descartar um arquivo de um grupo de arquivos em um banco de dadosDropping a file from a filegroup in a database

  • Cancelar um banco de dadosDropping a database

  • Colocar um banco de dados offlineTaking a database offline

  • Desanexando um banco de dadosDetaching a database

  • Fazendo a transição de um banco de dados ou grupo de arquivos para um estado READ ONLYTransitioning a database or filegroup into a READ ONLY state

As seguintes operações são proibidas durante a execução das instruções CREATE DATABASE ENCRYPTION KEY, ALTER DATABASE ENCRYPTION KEY, DROP DATABASE ENCRYPTION KEY e ALTER DATABASE...SET ENCRYPTION: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:

  • Descartar um arquivo de um grupo de arquivos em um banco de dadosDropping a file from a filegroup in a database

  • Cancelar um banco de dadosDropping a database

  • Colocar um banco de dados offlineTaking a database offline

  • Desanexando um banco de dadosDetaching a database

  • Fazendo a transição de um banco de dados ou grupo de arquivos para um estado READ ONLYTransitioning a database or filegroup into a READ ONLY state

  • Usar um comando ALTER DATABASEUsing an ALTER DATABASE command

  • Iniciar um banco de dados ou backup de arquivo de banco de dadosStarting a database or database-file backup

  • Iniciar um banco de dados ou restauração de arquivo de banco de dadosStarting a database or database-file restore

  • Criar um instantâneoCreating a snapshot

As seguintes operações ou condições impedem a execução das instruções CREATE DATABASE ENCRYPTION KEY, ALTER DATABASE ENCRYPTION KEY, DROP DATABASE ENCRYPTION KEY e 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:

  • Um banco de dados é somente leitura ou tem grupos de arquivos somente leitura.A database is read-only or has read-only filegroups.

  • Um comando ALTER DATABASE está em execução.An ALTER DATABASE command is running.

  • Um backup de dados está sendo executado.A data backup is running.

  • Um banco de dados está em condição de restauração ou offline.A database is in an offline or restore condition.

  • Um instantâneo está em andamento.A snapshot is in progress.

  • As tarefas de manutenção do banco de dados estão em execução.Database maintenance tasks are running.

Quando os arquivos de banco de dados são criados, a inicialização instantânea de arquivo fica não disponível quando o TDE está habilitado.When database files are created, instant file initialization is unavailable when TDE is enabled.

Para criptografar a chave de criptografia do banco de dados com uma chave assimétrica, a chave assimétrica deve estar em um provedor de gerenciamento extensível de chaves.To encrypt a database encryption key with an asymmetric key, the asymmetric key must be on an extensible key-management provider.

Verificação da TDETDE scan

Para habilitar o TDE em um banco de dados, SQL ServerSQL Server deve fazer uma verificação de criptografia.To enable TDE on a database, SQL ServerSQL Server must do an encryption scan. A verificação lê cada página dos arquivos de dados no pool de buffers e, em seguida, grava as páginas criptografadas de volta no 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 fornecer a você mais controle sobre a verificação de criptografia, SQL Server 2019 (15.x)SQL Server 2019 (15.x) apresenta a verificação de TDE, que tem uma sintaxe de suspensão e de retomada.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. Você pode pausar a verificação, enquanto a carga de trabalho no sistema é pesada ou durante horários críticos para os negócios e então retomar a verificação mais tarde.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 a sintaxe a seguir para pausar a verificação de criptografia de TDE:Use the following syntax to pause the TDE encryption scan:

ALTER DATABASE <db_name> SET ENCRYPTION SUSPEND;

Da mesma forma, use a seguinte sintaxe para retomar a verificação de criptografia TDE:Similarly, use the following syntax to resume the TDE encryption scan:

ALTER DATABASE <db_name> SET ENCRYPTION RESUME;

A coluna encryption_scan_state foi adicionada à exibição de gerenciamento dinâmico sys.dm_database_encryption_keys.The encryption_scan_state column has been added to the sys.dm_database_encryption_keys dynamic management view. Ela mostra o estado atual da verificação de criptografia.It shows the current state of the encryption scan. Há também uma nova coluna chamada encryption_scan_modify_date, que contém a data e a hora da última alteração de estado de verificação de criptografia.There's also a new column called encryption_scan_modify_date, which contains the date and time of the last encryption-scan state change.

Se a instância de SQL ServerSQL Server for reiniciada enquanto sua verificação de criptografia estiver suspensa, uma mensagem será registrada no log de erros na inicialização.If the SQL ServerSQL Server instance restarts while its encryption scan is suspended, a message is logged in the error log on startup. A mensagem indica que uma verificação existente foi colocada em pausa.The message indicates that an existing scan has been paused.

TDE e logs de transaçõesTDE and transaction logs

Deixar um banco de dados usar TDE remove a parte restante do log de transações virtual atual.Letting a database use TDE removes the remaining part of the current virtual transaction log. A remoção força a criação do próximo log de transações.The removal forces creation of the next transaction log. Esse comportamento garante que nenhum texto não criptografado seja deixado nos logs depois que o banco de dados for definido para criptografia.This behavior guarantees that no clear text is left in the logs after the database is set for encryption.

Para localizar o status da criptografia do arquivo de log, confira a coluna encryption_state na exibição sys.dm_database_encryption_keys, como neste exemplo: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 obter mais informações sobre a arquitetura de arquivos de log do SQL ServerSQL Server, veja O log de transações (SQL Server).For more information about the SQL ServerSQL Server log-file architecture, see The Transaction Log (SQL Server).

Antes de uma chave de criptografia de banco de dados ser alterada, a chave de criptografia de banco de dados anterior criptografa todos os registros gravados no log de transações.Before a database encryption key changes, the previous database encryption key encrypts all data written to the transaction log.

Se você alterar uma chave de criptografia de banco de dados duas vezes, deverá fazer um backup de log antes de poder alterar a chave de criptografia de banco de dados novamente.If you change a database encryption key twice, you must do a log backup before you can change the database encryption key again.

TDE e o banco de dados de sistema tempdbTDE and the tempdb system database

O banco de dados do sistema tempdb será criptografado se qualquer outro banco de dados da instância do SQL ServerSQL Server for criptografado usando TDE.The tempdb system database is encrypted if any other database on the SQL ServerSQL Server instance is encrypted by using TDE. Essa criptografia poderá ter um efeito de desempenho em bancos de dados não criptografados na mesma instância do SQL ServerSQL Server.This encryption might have a performance effect for unencrypted databases on the same SQL ServerSQL Server instance. Para obter mais informações sobre o banco de dados do sistema tempdb, confira Banco de dados tempdb.For more information about the tempdb system database, see tempdb Database.

TDE e replicaçãoTDE and replication

A replicação não replica automaticamente os dados de um banco de dados habilitado para TDE em um formulário criptografado.Replication doesn't automatically replicate data from a TDE-enabled database in an encrypted form. Habilite separadamente a TDE se quiser proteger a distribuição e os bancos de dados dos assinantes.Separately enable TDE if you want to protect distribution and subscriber databases.

A replicação de instantâneo pode armazenar dados em arquivos intermediários não criptografados, como arquivos BCP.Snapshot replication can store data in unencrypted intermediate files like BCP files. A distribuição de dados inicial para replicação transacional e de mesclagem também pode.The initial data distribution for transactional and merge replication can too. Durante essa replicação, você pode habilitar a criptografia para proteger o canal de comunicação.During such replication, you can enable encryption to protect the communication channel.

Para obter mais informações, confira Habilitar conexões criptografadas para o mecanismo de banco de dados (SQL Server Configuration Manager).For more information, see Enable Encrypted Connections to the Database Engine (SQL Server Configuration Manager).

TDE e Always OnTDE and Always On

Você pode adicionar um banco de dados criptografado a um grupo de disponibilidade Always On.You can add an encrypted database to an Always On availability group.

Para criptografar bancos de dados que fazem parte de um grupo de disponibilidade, crie a chave mestra e os certificados ou a chave assimétrica (EKM) em todas as réplicas secundárias antes de criar a chave de criptografia de banco de dados na réplica primária.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.

Se um certificado for usado para proteger a DEK (chave de criptografia de banco de dados), faça backup do certificado criado na réplica primária e, em seguida, crie o certificado de um arquivo em todas as réplicas secundárias antes de criar a chave de criptografia de banco de dados na réplica primária.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 e os dados FILESTREAMTDE and FILESTREAM data

Os dados FILESTREAM não são criptografados mesmo quando você habilita TDE.FILESTREAM data isn't encrypted even when you enable TDE.

Remover a TDERemove TDE

Remova a criptografia do banco de dados usando a instrução ALTER DATABASE.Remove encryption from the database by using the ALTER DATABASE statement.

ALTER DATABASE <db_name> SET ENCRYPTION OFF;

Para exibir o estado do banco de dados, use a exibição de gerenciamento dinâmico sys.dm_database_encryption_keys.To view the state of the database, use the sys.dm_database_encryption_keys dynamic management view.

Aguarde a conclusão da descriptografia antes de remover a chave de criptografia de banco de dados usando DROP DATABASE ENCRYPTION KEY.Wait for decryption to finish before removing the database encryption key by using DROP DATABASE ENCRYPTION KEY.

Importante

Faça backup da chave mestra e do certificado que são usados para a TDE em uma localização segura.Back up the master key and certificate that are used for TDE to a safe location. A chave mestra e o certificado são necessários para restaurar backups que foram feitos quando o banco de dados foi criptografado com a TDE.The master key and certificate are required to restore backups that were taken when the database was encrypted with TDE. Depois de remover a chave de criptografia de banco de dados, faça um backup de log seguido de um novo backup completo do banco de dados descriptografado.After you remove the database encryption key, take a log backup followed by a fresh full backup of the decrypted database.

TDE e extensão do pool de buffersTDE and buffer pool extension

Quando você criptografa um banco de dados usando TDE, os arquivos relacionados à BPE (extensão do pool de buffers) não são criptografados.When you encrypt a database using TDE, files related to buffer pool extension (BPE) aren't encrypted. Para esses arquivos, use ferramentas de criptografia como BitLocker ou EFS no nível do sistema de arquivos.For those files, use encryption tools like BitLocker or EFS at the file-system level.

TDE e OLTP in-memoryTDE and In-Memory OLTP

Você pode habilitar a TDE em um banco de dados que tem objetos OLTP in-memory.You can enable TDE on a database that has In-Memory OLTP objects. No SQL Server 2016 (13.x)SQL Server 2016 (13.x) e no Banco de Dados SQL do AzureAzure SQL Database, os dados e os registros de log do OLTP in-memory serão criptografados se a TDE estiver habilitada.In SQL Server 2016 (13.x)SQL Server 2016 (13.x) and Banco de Dados SQL do AzureAzure SQL Database, In-Memory OLTP log records and data are encrypted if you enable TDE. No SQL Server 2014 (12.x)SQL Server 2014 (12.x), os registros de log do OLTP in-memory serão criptografados se você habilitar a TDE, mas os arquivos no grupo de arquivos MEMORY_OPTIMIZED_DATA ficarão descriptografados.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 um banco de dados protegido por TDE para outro SQL ServerMove a TDE Protected Database to Another SQL Server
Habilitar TDE no SQL Server usando EKMEnable TDE on SQL Server Using EKM
Gerenciamento extensível de chaves Usando o Azure Key Vault (SQL Server)Extensible Key Management Using Azure Key Vault (SQL Server)

Transparent Data Encryption com o Banco de Dados SQL do AzureTransparent Data Encryption with Azure SQL Database
Introdução aos dados TDE (Transparent Data Encryption) no Azure Synapse AnalyticsGet started with Transparent Data Encryption (TDE) in Azure Synapse Analytics
Criptografia do SQL ServerSQL Server Encryption
Chaves de criptografia do SQL Server e banco de dados (Mecanismo de Banco de Dados)SQL Server and Database Encryption Keys (Database Engine)

Confira tambémSee also

Central de segurança do Mecanismo de Banco de Dados do SQL Server e Banco de Dados SQL do AzureSecurity Center for SQL Server Database Engine and Azure SQL Database
FILESTREAM (SQL Server)FILESTREAM (SQL Server)