POPRAWKA: Problemy z ułatwieniami dostępu bazy danych w przypadku obciążeń klientów o dużej ilości, które używają EKM do szyfrowania i generowania kluczy
Symptomy
Duże obciążenia klientów korzystające z rozszerzonego zarządzania kluczami (EKM) mogą napotykać sporadyczne problemy z ułatwieniami dostępu bazy danych. Te problemy z ułatwieniami dostępu są spowodowane częstym tworzeniem lub rotacją pliku dziennika wirtualnego (VLF), który wymaga dostępu do usługi Azure Key Vault (AKV). Jeśli usługa AKV lub usługi pomocnicze, takie jak Microsoft Entra ID, nie są dostępne podczas tworzenia lub rotacji, nie można wykonać tworzenia ani rotacji wirtualnegolfa. Ponadto powoduje to problemy z ułatwieniami dostępu bazy danych.
Funkcje VF można tworzyć lub obracać często, gdy pliki dziennika transakcji są małe lub automatyczne zwiększanie (automatyczne zwiększanie) dziennika transakcji jest małe, a nie wystarczająco duże, aby wyprzedzać potrzeby transakcji obciążenia. Aby uzyskać więcej informacji, zobacz Zarządzanie rozmiarem pliku dziennika transakcji.
Rozmiar i częstotliwość tworzenia plików VFS można monitorować przy użyciu sys.dm_db_log_info.
Rozwiązanie
Ten problem został rozwiązany w następujących aktualizacjach zbiorczych programu SQL Server:
- Aktualizacja zbiorcza 1 dla programu SQL Server 2022
- Aktualizacja zbiorcza 19 dla programu SQL Server 2019
Ta poprawka wprowadza flagę śledzenia uruchamiania (TF) 15025. Możesz użyć serwera TF 15025, aby wyłączyć dostęp do usługi AKV wymagany dla nowo utworzonego wirtualnegolfa, co umożliwia wykonywanie dużych obciążeń klientów bez przerw. Po włączeniu tej flagi śledzenia program SQL Server, który używa EKM do szyfrowania i generowania kluczy, nie kontaktuje się z usługą AKV podczas tworzenia ani rotacji VLF.
Aby sprawdzić, czy klucz w usłudze AKV jest nadal używany lub musi być wyłączony, należy wykonać jedną z następujących operacji w bazie danych:
- Utwórz kopię zapasową (dowolny typ kopii zapasowej) bazy danych lub dziennika transakcji.
- Uruchom polecenie
DBCC CHECKDB
względem zaszyfrowanej bazy danych. - Ustaw zaszyfrowaną bazę danych na
OFFLINE
stan, a następnie naONLINE
stan . - Utwórz migawkę bazy danych zaszyfrowanej bazy danych.
W dowolnej z wymienionych operacji program SQL Server skontaktuje się z usługą AKV i sprawdzi dostęp do klucza podczas tej operacji, jeśli klucz istnieje w usłudze AKV.
Nawet jeśli włączysz program TF 15025, te operacje będą nadal osiągać dostęp do usługi AKV.
Możesz uruchomić następującą instrukcję języka Transact-SQL (T-SQL), aby sprawdzić stan klucza w bazie danych:
SELECT * FROM sys.dm_database_encryption_keys
Informacje o aktualizacjach zbiorczych dla programu SQL Server
Każda nowa zbiorcza aktualizacja programu SQL Server zawiera wszystkie poprawki i poprawki zabezpieczeń, które znajdowały się w poprzedniej kompilacji. Zalecamy zainstalowanie najnowszej kompilacji dla używanej wersji programu SQL Server:
- Najnowsza aktualizacja zbiorcza programu SQL Server 2022
- Najnowsza aktualizacja zbiorcza programu SQL Server 2019
Stan
Firma Microsoft potwierdziła, że jest to usterka występująca w produktach firmy Microsoft wymienionych w części "Ma zastosowanie do:".
Informacje
- Rozszerzone zarządzanie kluczami (EKM)
- Zarządzanie rozmiarem pliku dziennika transakcji
- sys.dm_db_log_info (Transact-SQL)
- sys.dm_database_encryption_keys (Transact-SQL)
- OPCJE ALTER DATABASE SET (Transact-SQL)
- Dowiedz się więcej o terminologii używanej przez firmę Microsoft do opisywania aktualizacji oprogramowania