PROBLEMBEHEBUNG: Probleme mit der Datenbank-Barrierefreiheit bei großen Kundenworkloads, die EKM für verschlüsselungs- und schlüsselgenerierung verwenden
Symptome
Bei großen Kundenworkloads, die die erweiterbare Schlüsselverwaltung (Extensible Key Management, EKM) verwenden, kann es zu zeitweiligen Problemen bei der Barrierefreiheit der Datenbank führen. Diese Barrierefreiheitsprobleme werden durch die häufige Erstellung oder Rotation der virtuellen Protokolldatei (VLF) verursacht, die Zugriff auf Azure Key Vault (AKV) erfordert. Wenn während dieser Erstellung oder Rotation nicht auf AKV oder unterstützende Dienste wie Microsoft Entra ID zugegriffen werden kann, können Sie die Erstellung oder Rotation des VLF nicht durchführen. Darüber hinaus verursacht dies Probleme mit der Barrierefreiheit der Datenbank.
VLFs können häufig erstellt oder rotiert werden, wenn die Transaktionsprotokolldateien klein sind oder das automatische Vergrößerungs-Inkrement des Transaktionsprotokolls klein ist und nicht groß genug ist, um den Anforderungen der Workloadtransaktionen einen Schritt voraus zu sein. Weitere Informationen finden Sie unter Verwalten der Größe der Transaktionsprotokolldatei.
Sie können die Größe und die Erstellungshäufigkeit von VLFs mithilfe von sys.dm_db_log_info überwachen.
Lösung
Dieses Problem wurde in den folgenden kumulativen Updates für SQL Server behoben:
Dieser Fix führt ein Startablaufverfolgungsflag (TF) 15025 ein. Sie können TF 15025 verwenden, um den AKV-Zugriff zu deaktivieren, der für eine neu erstellte VLF erforderlich ist. Dadurch können Kundenworkloads mit hohem Volumen ohne Unterbrechung fortgesetzt werden. Sobald dieses Ablaufverfolgungsflag aktiviert ist, kontaktiert SQL Server, der EKM für verschlüsselungs- und schlüsselgenerierung verwendet, akv während der Erstellung oder Rotation des VLF nicht mehr.
Um zu überprüfen, ob der Schlüssel in AKV noch verwendet wird oder deaktiviert werden muss, müssen Sie einen der folgenden Vorgänge für die Datenbank ausführen:
- Erstellen Sie eine Sicherung (jede Art von Sicherung) der Datenbank oder des Transaktionsprotokolls.
- Führen Sie für die verschlüsselte Datenbank aus
DBCC CHECKDB
. - Legen Sie die verschlüsselte Datenbank auf den
OFFLINE
Zustand und dann auf denONLINE
Zustand fest. - Create eine Datenbank Momentaufnahme der verschlüsselten Datenbank.
Bei einem der aufgeführten Vorgänge kontaktiert SQL Server AKV und überprüft den Schlüsselzugriff während dieses Vorgangs, wenn der Schlüssel in AKV vorhanden ist.
Auch wenn Sie TF 15025 aktivieren, erreichen diese Vorgänge weiterhin AKV.
Sie können die folgende Transact-SQL-Anweisung (T-SQL) ausführen, um die status des Schlüssels in einer Datenbank zu überprüfen:
SELECT * FROM sys.dm_database_encryption_keys
Informationen zu kumulativen Updates für SQL Server
Jedes neue kumulative Update für SQL Server enthält alle Hotfixes und Sicherheitsfixes aus dem vorherigen Build. Es wird empfohlen, den neuesten Build für Ihre Version von SQL Server zu installieren:
Status
Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.
References
- Erweiterbare Schlüsselverwaltung (EKM)
- Verwalten der Größe der Transaktionsprotokolldatei
- sys.dm_db_log_info (Transact-SQL)
- sys.dm_database_encryption_keys (Transact-SQL)
- ALTER DATABASE SET-Optionen (Transact-SQL)
- Erfahren Sie mehr über die Terminologie , die Microsoft zum Beschreiben von Softwareupdates verwendet.