當您使用 EFS 加密資料庫檔案時,SQL Server 效能降低
適用于:SQL Server
原始 KB 編號: 922121
徵狀
當您使用加密文件系統 (EFS) 來加密 SQL Server 中的資料庫檔案時,某些 SQL Server 功能的效能會降低。 例如, 預先讀取 和 檢查點 功能。
原因
發生此問題的原因是來自 SQL Server 的異步 I/O 要求會轉換成 EFS 加密資料庫檔案上的同步 I/O 作業。 如需詳細資訊,請參閱異 步磁碟 I/O 在 Windows 上顯示為同步 。 在 I/O 作業期間,背景工作線程會等到 I/O 作業完成為止。 當線程等候 I/O 作業時,會暫停 SQL Server 排程器,直到目前的背景工作線程繼續為止。 因此,保留在排程器上的背景工作線程將會暫止,直到第一個背景工作線程繼續 I/O 作業為止。 不過,針對異步 I/O,線程會要求 I/O 並繼續執行其他工作。
注意事項
異步 I/O 似乎仍為同步,因為 新技術文件系統 (NTFS) 壓縮。 檔系統驅動程式將不會以異步方式存取壓縮的檔案。 相反地,所有作業都會同步進行。
因應措施
SQL Server 提供許多加密技術,例如透明數據加密 (TDE) 、Always Encrypted 和數據行層級加密 Transact-SQL 函式。 請考慮使用這些 加密 功能,而不是 EFS。
注意事項
當您使用 EFS 來加密資料庫檔案時,不論資料庫檔案中包含的實際數據和元數據為何,整個資料庫檔案都會加密。 如果實體媒體可能遺失,您也可以使用 EFS。
參考資料
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應