Příznaky
U velkoobjemových zákaznických úloh, které používají EKM (Extensible Key Management), může docházet k občasným problémům s přístupností databáze. Tyto problémy s přístupností jsou způsobené častým vytvářením nebo obměnou virtuálního souboru protokolu (VLF), který vyžaduje přístup k Azure Key Vault (AKV). Pokud AKV nebo podpůrné služby, jako je Microsoft Entra ID, nejsou během tohoto vytváření nebo rotace přístupné, nemůžete VLF vytvořit ani rotovat. Kromě toho způsobuje problémy s přístupností databáze.
VLF lze často vytvářet nebo obměňovat, pokud jsou soubory transakčního protokolu malé nebo je přírůstek automatického růstu (automatického zvětšení) transakčního protokolu malý, místo aby byl dostatečně velký, aby si udržel náskok před potřebami transakcí úloh. Další informace naleznete v tématu Správa velikosti souboru transakčního protokolu.
Velikost a frekvenci vytváření VLF můžete sledovat pomocí sys.dm_db_log_info.
Řešení
Tento problém je opravený v následujících kumulativních aktualizacích pro SQL Server:
Tato oprava zavádí příznak trasování spouštění (TF) 15025. TF 15025 můžete použít k zakázání přístupu AKV, který je vyžadován pro nově vytvořený VLF, což umožňuje pokračování úloh zákazníků s velkým objemem bez přerušení. Jakmile je tento příznak trasování povolený, SQL Server, který používá EKM k šifrování a generování klíčů, nekontaktuje AKV během vytváření nebo rotace VLF.
Pokud chcete zkontrolovat, jestli se klíč v AKV stále používá nebo je potřeba ho zakázat, musíte s databází provést jednu z následujících operací:
- Vytvořte záložní kopii (jakýkoli typ zálohy) databáze nebo transakčního protokolu.
- Spusťte
DBCC CHECKDBv šifrované databázi. - Nastavte šifrovanou databázi na
OFFLINEstav a poté naONLINEstav. - Vytvořte snímek zašifrované databáze.
V některé z uvedených operací bude SQL Server kontaktovat AKV a během této operace zkontroluje přístup ke klíči, pokud klíč v AKV existuje.
I když povolíte TF 15025, tyto operace stále dosáhnou AKV.
Pokud chcete zkontrolovat stav klíče v databázi, můžete spustit následující příkaz Transact-SQL (T-SQL):
SELECT * FROM sys.dm_database_encryption_keys
Informace o kumulativních aktualizacích pro SQL Server
Každá nová kumulativní aktualizace pro SQL Server obsahuje všechny opravy hotfix a opravy zabezpečení, které byly v předchozím buildu. Doporučujeme nainstalovat nejnovější build pro vaši verzi SQL Server:
- Nejnovější kumulativní aktualizace pro SQL Server 2022
- Nejnovější kumulativní aktualizace pro SQL Server 2019
Stav
Společnost Microsoft potvrdila, že se jedná o problém produktů Microsoft, které jsou uvedeny v sekci Platí pro.
Reference
- EKM (Extensible Key Management)
- Správa velikosti souboru transakčního protokolu
- sys.dm_db_log_info (Transact-SQL)
- sys.dm_database_encryption_keys (Transact-SQL)
- Možnosti ALTER DATABASE SET (Transact-SQL)
- Přečtěte si o terminologii , kterou společnost Microsoft používá k popisování aktualizací softwaru