What is the best practice for free space for a SQL server database drive?
I'm trying to determine the best practice for sizing a single database on a 120Gb data drive that will contain the LDF and MDF files.


Best practice for sizing is always to do capacity planning - how fast does your data grow now?  How fast will it grow in the next 1-5 years?

Add on some contingency, too.

Set your data file large enough to accomodate that now, and put a calendar entry on your calendar to revisit your capacity planning annually (and check your RAID controller for a bad battery or a bad drive, too).

Set your T-log file likewise, but first read Kimberly Tripp's Transaction Log VLFs – too many or too few? article.

Then read Database File Initialization, particularly the Instant File Initialization section and the Group Policy Perform Volume Maintenance requirement.

Note that index maintenance can use up a lot of space in the log.

Then you can set autogrow on both to fixed increments of reasonable size based on how long you can afford to wait for the growth, as well as keeping VLF sizes in check.

Now set a calendar entry or automated process to check on free space regularly - weekly or monthly, perhaps.