CORREZIONE: problemi di accessibilità del database con carichi di lavoro dei clienti con volumi elevati che usano EKM per la crittografia e la generazione di chiavi
Sintomi
I carichi di lavoro dei clienti con volumi elevati che usano Extensible Key Management (EKM) possono riscontrare problemi di accessibilità intermittenti del database. Questi problemi di accessibilità sono causati dalla frequente creazione o rotazione del file di log virtuale (VLF) che richiede l'accesso ad Azure Key Vault (AKV). Se AKV o servizi di supporto come Microsoft Entra ID non sono accessibili durante questa creazione o rotazione, non è possibile eseguire la creazione o la rotazione del VLF. Inoltre, causa problemi di accessibilità del database.
I file di log delle transazioni possono essere creati o ruotati frequentemente quando i file di log delle transazioni sono di piccole dimensioni o l'incremento automatico (aumento automatico) del log delle transazioni è ridotto, anziché sufficientemente grande per rimanere al passo con le esigenze delle transazioni del carico di lavoro. Per altre informazioni, vedere Gestire le dimensioni del file di log delle transazioni.
È possibile monitorare le dimensioni e la frequenza di creazione dei file VVL usando sys.dm_db_log_info.
Risoluzione
Questo problema è stato risolto negli aggiornamenti cumulativi seguenti per SQL Server:
Questa correzione introduce un flag di traccia di avvio (TF) 15025. È possibile usare TF 15025 per disabilitare l'accesso AKV necessario per un VLF appena creato, che consente ai carichi di lavoro dei clienti con volumi elevati di continuare senza interruzioni. Dopo aver abilitato questo flag di traccia, SQL Server che usa EKM per la crittografia e la generazione di chiavi non contatta AKV durante la creazione o la rotazione del VLF.
Per verificare se la chiave in AKV è ancora in uso o deve essere disabilitata, è necessario eseguire una delle operazioni seguenti nel database:
- Eseguire un backup (qualsiasi tipo di backup) del database o del log delle transazioni.
- Eseguire
DBCC CHECKDB
sul database crittografato. - Impostare il database
OFFLINE
crittografato sullo stato e quindi sulloONLINE
stato. - Creare uno snapshot del database crittografato.
In una delle operazioni elencate, SQL Server contatterà AKV e verificherà l'accesso alla chiave durante questa operazione se la chiave esiste in AKV.
Anche se si abilita TF 15025, queste operazioni raggiungeranno comunque AKV.
È possibile eseguire l'istruzione Transact-SQL (T-SQL) seguente per controllare lo stato della chiave in un database:
SELECT * FROM sys.dm_database_encryption_keys
Informazioni sugli aggiornamenti cumulativi per SQL Server
Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutti gli hotfix e le correzioni di sicurezza presenti nella build precedente. È consigliabile installare la build più recente per la versione di SQL Server:
- Aggiornamento cumulativo più recente per SQL Server 2022
- Aggiornamento cumulativo più recente per SQL Server 2019
Stato
Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".
Riferimenti
- Extensible Key Management (EKM)
- Gestione delle dimensioni del file di log delle transazioni
- sys.dm_db_log_info (Transact-SQL)
- sys.dm_database_encryption_keys (Transact-SQL)
- Opzioni di ALTER DATABASE SET (Transact-SQL)
- Informazioni sulla terminologia usata da Microsoft per descrivere gli aggiornamenti software