CORREÇÃO: Problemas de acessibilidade do banco de dados com cargas de trabalho de clientes de alto volume que usam EKM para criptografia e geração de chaves
Sintomas
As cargas de trabalho de clientes de alto volume que usam o EKM (Gerenciamento Extensível de Chaves) podem enfrentar problemas intermitentes de acessibilidade ao banco de dados. Esses problemas de acessibilidade são causados pela criação ou rotação frequente do VLF (arquivo de log virtual) que requer acesso ao AKV (Azure Key Vault). Se o AKV ou os serviços de suporte, como o Microsoft Entra ID, não estiverem acessíveis durante essa criação ou rotação, você não poderá executar a criação ou rotação do VLF. Além disso, causa problemas de acessibilidade ao banco de dados.
Os VLFs podem ser criados ou girados com frequência quando os arquivos de log de transações são pequenos ou o incremento de crescimento automático (crescimento automático) do log de transações é pequeno, em vez de grande o suficiente para ficar à frente das necessidades das transações de carga de trabalho. Para obter mais informações, consulte Gerenciar o tamanho do arquivo de log de transações.
Você pode monitorar o tamanho e a frequência de criação de VLFs usando sys.dm_db_log_info.
Solução
Esse problema é corrigido nas seguintes atualizações cumulativas do SQL Server:
Essa correção apresenta um sinalizador de rastreamento de inicialização (TF) 15025. Você pode usar o TF 15025 para desabilitar o acesso AKV necessário para um VLF recém-criado, o que permite que cargas de trabalho de clientes de alto volume continuem sem interrupção. Depois que esse sinalizador de rastreamento estiver habilitado, o SQL Server que usa o EKM para criptografia e geração de chaves não entrará em contato com o AKV durante a criação ou rotação do VLF.
Para verificar se a chave no AKV ainda está em uso ou precisa ser desabilitada, você deve executar uma das seguintes operações no banco de dados:
- Faça um backup (qualquer tipo de backup) do banco de dados ou log de transações.
- Execute
DBCC CHECKDB
no banco de dados criptografado. - Defina o banco de dados criptografado para o
OFFLINE
estado e, em seguida, para oONLINE
estado. - Crie um instantâneo de banco de dados do banco de dados criptografado.
Em qualquer uma das operações listadas, o SQL Server entrará em contato com o AKV e verificará o acesso à chave durante essa operação se a chave existir no AKV.
Mesmo se você habilitar o TF 15025, essas operações ainda alcançarão o AKV.
Você pode executar a seguinte instrução Transact-SQL (T-SQL) para verificar o status da chave em um banco de dados:
SELECT * FROM sys.dm_database_encryption_keys
Sobre atualizações cumulativas para SQL Server
Cada nova atualização cumulativa do SQL Server contém todos os hotfixes e correções de segurança que estavam na compilação anterior. Recomendamos que você instale o build mais recente para sua versão do SQL Server:
- Atualização cumulativa mais recente do SQL Server 2022
- Atualização cumulativa mais recente do SQL Server 2019
Status
A Microsoft confirmou que este é um problema nos produtos Microsoft listados na seção "Aplicável a".
Referências
- EKM (Gerenciamento extensível de chaves)
- Gerenciar o tamanho do arquivo de log de transações
- sys.dm_db_log_info (Transact-SQL)
- sys.dm_database_encryption_keys (Transact-SQL)
- Opções de ALTER DATABASE SET (Transact-SQL)
- Saiba mais sobre a terminologia que a Microsoft usa para descrever atualizações de software