Windows Server 2012 is due for release in a fortnight, as I write this. One of the more interesting features is the new ReFS (Resilient File System). The aim is that ReFS will eventually replace the venerable nineteen-year-old NTFS, though all previous attempts to shunt it aside have failed, the first attempt being WinFS, which was based on relational technology and which never made it into production.
ReFS should be good news because, along with 'Storage Spaces', it enables users to convert "Just a Bunch of Drives" (JBOD) storage into a resilient system that supports mirroring and striping. With this technology, we can create logical drives, or 'storage pools' to be assembled from a number of physical drives so that we can dynamically shrink and expand our storage pools whilst keeping the data intact: what a difference that would make! ReFS runs about as fast as NTFS, but we can save huge files on it and it has a Data Verification and Auto-Correction that scans and repairs bad disk clusters. ReFS, is basically, more resilient in the face of hardware failure, and more flexible than NTFS.
However, although ReFS now appears in Server 2012, it still doesn't yet have the full set of features of NTFS. In Agile parlance, it is "done", but not "done done". For example, you can't boot from it. ReFS has the features required for file storage but not yet for process execution. What does this mean for SQL Server? I'm not sure. Although there are reports of ReFS supporting SQL Server, other accounts have it that It doesn't support SQL Server, and it would seem that you have to use, instead, an old-fashioned NTFS drive for databases files. It is curiously difficult to find any definitive statement from Microsoft to say that SQL Server is fully compatible with ReFS: but there are doubts.
The great Denny Cherry, for example, pointed out in January that the absence of the named streams feature of NTFS would mean that if you run DBCC CHECKDB on a database that resides on ReFS, it would have to lock all the tables. To make matters worse, database snapshots require the use of sparse files that won't work on ReFS volumes. Are these problems now fixed?
The decision to put ReFS into Windows Server 2012 seems odd. If the lack of feature-parity with NTFS means that it can be used only for storing files rather than running applications, then this must surely make for support issues when Sys Admins assume that this is something that any file system just does. Worse, it seems that the less sophisticated NoSQL databases would seem to run fine on ReFS, thereby providing a resilience and elasticity to these whilst perhaps leaving SQL Server on aging NTFS.
Please, someone, reassure me that, at the end of a day excitedly tearing the wrapping off my shiny new Windows Server OS, I'll be able to install SQL Server satisfactorily on it under ReFS and everything will work fine!