Sintomas
As cargas de trabalho de clientes de grande volume que utilizam o EKM (Extensible Key Management) podem ter problemas intermitentes de acessibilidade da base de dados. Estes problemas de acessibilidade são causados pela criação ou rotação frequente do ficheiro de registo virtual (VLF) que requer acesso ao Azure Key Vault (AKV). Se o AKV ou serviços de suporte como 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 na base 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.
Resolução
Esse problema foi corrigido nas seguintes atualizações cumulativas para SQL Server:
Esta correção introduz um sinalizador de rastreio de arranque (TF) 15025. Você pode usar o TF 15025 para desabilitar o acesso AKV necessário para um VLF recém-criado, que permite que cargas de trabalho de clientes de alto volume continuem sem interrupção. Uma vez ativado este sinalizador de rastreio, SQL Server que utiliza EKM para encriptação e geração de chaves não contacta 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 do log de transações.
- Execute
DBCC CHECKDBcontra a base de dados encriptada. - Defina a base de dados encriptada para o
OFFLINEestado e, em seguida, para oONLINEestado. - Crie um instantâneo da base de dados da base de dados encriptada.
Em qualquer uma das operações listadas, SQL Server entrará em contato com a AKV e verificará o acesso à chave durante esta operação, se a chave existir na AKV.
Mesmo que você habilite o TF 15025, essas operações ainda chegarão ao 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
Acerca das atualizações cumulativas para SQL Server
Cada nova atualização cumulativa para SQL Server contém todos os hotfixes e correções de segurança que estavam na compilação anterior. Recomendamos que instale a compilação mais recente para a sua versão do SQL Server:
- Atualização cumulativa mais recente para o SQL Server 2022
- Atualização cumulativa mais recente do SQL Server 2019
Estado
A Microsoft confirmou que se trata de um problema nos produtos Microsoft listados na secção "Aplica-se a".
Referências
- Gerenciamento extensível de chaves (EKM)
- Gerir o tamanho do ficheiro de registo de transações
- sys.dm_db_log_info (Transact-SQL)
- sys.dm_database_encryption_keys (Transact-SQL)
- Opções ALTER DATABASE SET (Transact-SQL)
- Saiba mais sobre a terminologia que a Microsoft utiliza para descrever as atualizações de software