• I do my best to not install any part of SQL Server on the operating system drive. SQL Server is basically it's own "operating system" as you will find some folks reference it as "SQLOS". You have to consider all those additional files that come along with where SQL Server is installed to besides the system databases such as ERRORLOG file, SQL Agent logs, job logs, dump files, etc. All those files add up in size and in most cases is something alot of folks forget about.

    master, model, and msdb

    If I am able to install SQL Server on it's own drive then I will leave these system databases at their default location. If I have to install SQL Server on the operating system drive because someone is going to kill my dog, then I would move them to another drive. I do not tend to seperate the data and log files because I don't really care about their performance. The exception to my rule might be with msdb in some circumstances where it is an ETL server or replication may be involved and this particular database will see more activity than normal.

    I consider it best to never touch the master database. You will not see any improvements of performance of any kind by moving it so there is no real purpose. I don't like moving it also because of service packs and cumluative updates, you never know what Microsoft is going to do and patches are going to always touch that database.

    tempdb

    I will generally place tempdb data and log file on their own drive. Obviously planning of the server build you would be aware of the load that will be placed on tempdb, in a perfect world. If I am going to have multiple tempdb data files and I can have the disk I would split the data and log files. In general builds though I tend to keep them together on a seperate drive from the user databases.

    General Disk/File Layout template

    My template for customers that I like to have on builds:

    Disk 1: OS

    Disk 2: SQL Binaries/system databases (except tempdb)

    Disk 3: backups

    Disk 4: user database (data files)

    Disk 5: user database (log files)

    Disk 6: tempdb (data and log)

    Shawn Melton
    Twitter: @wsmelton
    Blog: wsmelton.github.com
    Github: wsmelton