修正:使用 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 產品確實有上述問題。
參考資料
意見反應
https://aka.ms/ContentUserFeedback。
即將推出:在 2024 年,我們將隨著內容的意見反應機制逐步淘汰 GitHub 問題,並以新的意見反應系統來取代。 如需詳細資訊,請參閱提交並檢視相關的意見反應