Sintomi
I carichi di lavoro dei clienti con volumi elevati che usano Extensible Key Management (EKM) possono riscontrare problemi intermittenti di accessibilità del database. Questi problemi di accessibilità sono causati dalla frequente creazione o rotazione del file di log virtuale (VLF) che richiede l'accesso a 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.
Le VLF possono essere create o ruotate frequentemente quando i file di log delle transazioni sono di piccole dimensioni o l'incremento di crescita automatica (crescita automatica) del log delle transazioni è piccolo, anziché abbastanza grande da stare al passo con le esigenze delle transazioni del carico di lavoro. Per altre informazioni, vedere Gestire le dimensioni del file di registro delle transazioni.
È possibile monitorare le dimensioni e la frequenza di creazione dei VLF utilizzando 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 richiesto per un VLF appena creato, in modo da consentire 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 seguenti operazioni sul database:
- Eseguire un backup (qualsiasi tipo di backup) del database o del log delle transazioni.
- Eseguire
DBCC CHECKDBsul database crittografato. - Impostare il
OFFLINEdatabase crittografato sullo stato e quindi sulloONLINEstato. - Creare uno snapshot del database crittografato.
In una qualsiasi delle operazioni elencate, SQL Server contatterà AKV e controllerà l'accesso alla chiave durante questa operazione se la chiave esiste in AKV.
Anche se si abilita TF 15025, queste operazioni raggiungeranno comunque AKV.
Per controllare lo stato della chiave in un database, è possibile eseguire l'istruzione T-SQL (T-SQL) seguente:
SELECT * FROM sys.dm_database_encryption_keys
Informazioni sugli aggiornamenti cumulativi per SQL Server
Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutte le correzioni a caldo e 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 si tratta di un problema relativo ai prodotti elencati nella sezione "Si applica a".
Riferimenti
- Gestione chiavi estensibili (EKM)
- Gestire le dimensioni del file di log delle transazioni
- sys.dm_db_log_info (Transact-SQL)
- sys.dm_database_encryption_keys (Transact-SQL)
- Opzioni ALTER DATABASE SET (Transact-SQL)
- Informazioni sulla terminologia utilizzata da Microsoft per descrivere gli aggiornamenti software