2

I have a server with a RAID1 volume (OS + apps) and a RAID10 volume (database).

The RAID10 volume has 6 physical disks. Should I split the SQL Server database into 6 datafiles (one for each physical disk) or leave it as one single .mdf file?

Edit: to clarify, I am not concerned with the theory of having single or multiple data files, I want to know if the fact that having 6 physical disks in the RAID means that I should have exactly 6 data files, or does the fact that they in an array make this irrelevant?

Thanks

1
  • 4
    You know the absolute beginner basics of how RAID works? I would read up on that if I were you. 6 datafiles wont help at all on that side as the RAID is exposed to the operating system as ONE DISC anyway.
    – TomTom
    Dec 15, 2013 at 12:40

1 Answer 1

4

If you have a single RAID10 volume then as far as SQL Server is concerned you have one volume and you can't control how things are stored, splitting things into extra files unnecessarily will likely have detrimental effects as it would on a single disk.

If you wish to try gain performance benefits from segregating data between spindles then you need to split the drives into separate RAID arrays, perhaps four in R10 for data and two in R1 for logs, or three R1s for everything, data and logs spread over the three.

Unfortunately there is no fixed wisdom here, it will vary greatly depending on your application's I/O loads. Splitting data and logs makes little difference for many load patterns (though can make a massive difference for certain write heavy loads) for instance. The only general advice that is applicable without a lot more detail about the application is "bung it all on that volume on one file/data and one/logs and trust the I/O scheduler to be fairly bright".

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.