Desempenho reduzido no SQL Server ao usar o EFS para criptografar arquivos de banco de dados

Aplica-se a: SQL Server
Número original do KB: 922121

Sintomas

Quando você usa o EFS (Sistema de Arquivos com Criptografia) para criptografar arquivos de banco de dados no SQL Server, o desempenho de alguns recursos do SQL Server é reduzido. Por exemplo, os recursos de leitura antecipada e ponto de verificação.

Causa

Esse problema ocorre porque as solicitações de E/S assíncronas do SQL Server são convertidas em operações de E/S síncronas em um arquivo de banco de dados criptografado pelo EFS. Consulte A E/S de disco assíncrona aparece como síncrona no Windows para obter mais informações. Durante a operação de E/S, o thread de trabalho aguarda até que a operação de E/S seja concluída. Quando o thread aguarda a operação de E/S, o agendador do SQL Server será suspenso até que o thread de trabalho atual continue. Portanto, os threads de trabalho que permanecem no agendador ficarão pendentes até que o primeiro thread de trabalho continue a operação de E/S. No entanto, para E/S assíncrona, o thread solicita a E/S e continua executando outras tarefas.

Observação

A E/S assíncrona ainda parece ser síncrona devido à compactação NTFS (New Technology File System). O driver do sistema de arquivos não acessará arquivos compactados de forma assíncrona. Em vez disso, todas as operações são feitas síncronas.

Solução alternativa

O SQL Server oferece muitas tecnologias de criptografia, como TDE (Transparent Data Encryption), Always Encrypted e funções Transact-SQL de criptografia em nível de coluna. Considere usar esses recursos de criptografia em vez do EFS.

Observação

Quando você usa o EFS para criptografar um arquivo de banco de dados, todo o arquivo de banco de dados é criptografado, independentemente dos dados e metadados reais contidos no arquivo de banco de dados. Você também pode usar o EFS em caso de possível perda de mídia física.

Referências

Configurar um sistema de arquivos seguro