ИСПРАВЛЕНИЕ: проблемы доступности базы данных с большими рабочими нагрузками клиентов, использующими EKM для шифрования и создания ключей

Проблема

В рабочих нагрузках клиентов с большим объемом данных, использующих управление расширенными ключами (EKM), могут возникать периодические проблемы с доступностью баз данных. Эти проблемы со специальными возможностями вызваны частым созданием или ротацией файла виртуального журнала (VLF), для которого требуется доступ к Azure Key Vault (AKV). Если AKV или вспомогательные службы, такие как Microsoft Entra ID, недоступны во время создания или поворота, вы не сможете создать или повернуть VLF. Кроме того, это вызывает проблемы со специальными возможностями базы данных.

VLF можно создавать или часто менять, когда файлы журнала транзакций невелики или шаг автоматического роста (автороста) журнала транзакций небольшой, а не достаточно большой, чтобы опережать потребности транзакций рабочей нагрузки. Дополнительные сведения см. в разделе Управление размером файла журнала транзакций.

Вы можете отслеживать размер и частоту создания VLF с помощью sys.dm_db_log_info.

Решение

Эта проблема устранена в следующих накопительных обновлениях для SQL Server:

Это исправление представляет флаг трассировки запуска (TF) 15025. Вы можете использовать TF 15025 для отключения доступа AKV, необходимого для недавно созданного VLF, что позволяет продолжать без перерыва рабочие нагрузки больших объемов клиентов. После включения этого флага трассировки SQL Server, использующий EKM для шифрования и создания ключей, не связывается с AKV во время создания или поворота VLF.

Чтобы проверка, используется ли ключ в AKV или его необходимо отключить, необходимо выполнить одну из следующих операций с базой данных:

  • Создайте резервную копию (любого типа) базы данных или журнала транзакций.
  • Запуск DBCC CHECKDB в зашифрованной базе данных.
  • Задайте для зашифрованной базы данных состояние, OFFLINE а затем состояние ONLINE .
  • Создайте snapshot зашифрованной базы данных.

В любой из перечисленных операций SQL Server свяжусь с AKV и проверка доступ к ключу во время этой операции, если ключ существует в AKV.

Даже если вы включите TF 15025, эти операции все равно дойдут до AKV.

Для проверки состояния ключа в базе данных можно выполнить следующую инструкцию Transact-SQL (T-SQL):

SELECT * FROM sys.dm_database_encryption_keys

Сведения о накопительных обновлениях для SQL Server

Каждый новый накопительный пакет обновления для SQL Server содержит все исправления и исправления безопасности, которые были в предыдущей сборке. Рекомендуется установить последнюю сборку для вашей версии SQL Server.

Состояние

Корпорация Майкрософт подтвердила, что это проблема продуктов Microsoft, перечисленных в разделе «Относится к».

Ссылки