Sql-server – Should I disable filesytem journaling for MS SQL Server (Linux/Windows)

file systemlinuxsql serverwindows

For a PostgreSQL server installation on Linux, it is beneficial to disable filesystem journaling.

Tip: Because WAL restores database file contents after a crash, journaled filesystems are not necessary for reliable storage of the data files or WAL files. In fact, journaling overhead can reduce performance, especially if journaling causes file system data to be flushed to disk. Fortunately, data flushing during journaling can often be disabled with a filesystem mount option, e.g. data=writeback on a Linux ext3 file system. Journaled file systems do improve boot speed after a crash.

from: Official documentation Write-Ahead Logging (WAL)

Unfortunately I did not found similar information about SQL Server on Windows or Linux, but…

Since SQL Server Sever as all modern relational database management systems do WAL, it seems logical that one also can and should disable file-system journaling on a Ext4 filesystem which is dedicated for MS SQL Server data on a Linux installation , and perhaps the same statement stands for NTFS on a Window installation.

In what measure the previous statements are true?

Best Answer

Filesystem-level journaling is not listed as a requirements for the installation of SQL Server on Windows or Linux. SQL Server goes to great lengths to make sure writes are durable (check out this mammoth article on some improvements made in SQL Server 2017 CU6 on Linux in that regard).

Since it's not required, I would conclude that it is safe to disable.

Since, as you noted, it will inevitably result in more load (writes) on the system, I think the same guidance would apply to SQL Server as it does to Postgres (that disabling the filesystem journaling behavior would be beneficial to system performance).

As there is no official guidance around this filesystem feature that I can find, I'm just sharing my personal thoughts on that matter.