修正:使用 EKM 進行加密和金鑰產生之大量客戶工作負載的資料庫輔助功能問題

徵狀

使用 可延伸金鑰管理 (EKM) 的高容量客戶工作負載可能會遇到間歇性資料庫輔助功能問題。 這些輔助功能問題是因為虛擬記錄檔 (VLF) 經常建立或輪替,而需要存取 Azure 金鑰保存庫 (AKV) 。 如果在建立或輪替期間無法存取 AKV 或支援服務,例如 Microsoft Entra ID,您就無法執行 VLF 的建立或輪替。 此外,也會造成資料庫輔助功能問題。

當事務歷史記錄檔很小,或自動成長 (自動成長) 事務歷史記錄的增量很小時,可以經常建立或輪替 VLF,而不是大到足以滿足工作負載交易的需求。 如需詳細資訊,請 參閱管理事務歷史記錄檔的大小

您可以 使用 sys.dm_db_log_info 來監視 VLF 的大小和建立頻率。

解決方案

下列 SQL Server 累積更新已修正此問題:

此修正 (TF) 15025 引進啟動追蹤旗標。 您可以使用 TF 15025 來停用新建立的 VLF 所需的 AKV 存取,這可讓大量客戶工作負載繼續而不中斷。 啟用此追蹤旗標之後,使用 EKM 進行加密和金鑰產生的 SQL Server 不會在建立或輪替 VLF 期間連絡 AKV。

若要檢查 AKV 中的金鑰是否仍在使用中或需要停用,您必須在資料庫上執行下列其中一項作業:

  • 備份 (資料庫或事務歷史記錄的任何備份) 類型。
  • DBCC CHECKDB針對加密的資料庫執行 。
  • 將加密的資料庫設定為 狀態, OFFLINE 然後設定為 ONLINE 狀態。
  • 建立加密資料庫的資料庫快照集。

在任何列出的作業中,SQL Server 會連絡 AKV,如果密鑰存在於 AKV 中,則會在此作業期間檢查金鑰存取。

即使您啟用 TF 15025,這些作業仍會到達 AKV。

您可以執行下列 Transact-SQL (T-SQL) 語句來檢查資料庫中金鑰的狀態:

SELECT * FROM sys.dm_database_encryption_keys

關於 SQL Server 的累積更新

SQL Server 的每個新累積更新都包含上一個組建中的所有 Hotfix 和安全性修正。 建議您為版本的 SQL Server 安裝最新的組建:

狀態

Microsoft 已確認<適用於>一節所列的 Microsoft 產品確實有上述問題。

參考資料