當您使用 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。

參考資料

設定安全文件系統