我應該禁用 MS SQL Server (Linux/Windows) 的文件系統日誌嗎
對於 Linux 上的 PostgreSQL 伺服器安裝,禁用文件系統日誌是有益的。
提示:因為 WAL 在崩潰後恢復數據庫文件內容,所以日誌文件系統對於數據文件或 WAL 文件的可靠儲存不是必需的。事實上,日誌成本會降低性能,尤其是當日誌導致文件系統數據刷新到磁碟時。幸運的是,日誌期間的數據刷新通常可以通過文件系統掛載選項禁用,例如 Linux ext3 文件系統上的 data=writeback。日誌文件系統確實提高了崩潰後的啟動速度。
來自:官方文件 Write-Ahead Logging (WAL)
不幸的是,我沒有找到關於 Windows 或 Linux 上的 SQL Server 的類似資訊,但是……
由於 SQL Server Sever 與所有現代關係數據庫管理系統都執行 WAL 一樣,因此似乎合乎邏輯的是,人們也可以並且應該禁用 Ext4 文件系統上的文件系統日誌,該文件系統專用於 Linux 安裝上的 MS SQL Server 數據,並且可能是相同的語句代表 Windows 安裝上的 NTFS。
前面的陳述在何種程度上是正確的?
文件系統級日誌記錄未列為在 Windows 或 Linux 上安裝 SQL Server 的要求。SQL Server 竭盡全力確保寫入的持久性(查看這篇關於 Linux 上 SQL Server 2017 CU6在這方面所做的一些改進的龐大文章)。
由於它不是必需的,因此我認為禁用它是安全的。
正如您所指出的,因為它不可避免地會導致系統上的更多負載(寫入),我認為相同的指導將適用於 SQL Server,就像它適用於 Postgres(禁用文件系統日誌行為將有利於系統性能)。
由於我找不到有關此文件系統功能的官方指導,因此我只是分享我對此事的個人想法。