How to restore a database using mdf and ldf files in SQL Server 2008? Asking for expert opinion. A very unfortunate event happened. One of our PCs crashed few days ago. That PC had SQL Server 2008 installed. Unfortunately no backup was running on that server. We sent the disk to a data recovery place and looks like they can recover some of the .mdf and .ldf files. 

We are particularly interested in 1 particular database. 

My questions are:


Is this possible to restore a particular  database using corresponding mdf and ldf files?
Do we need to have any mdfs from the  system databases? Any other files we need to ask data recovery company to look for?
Steps and/or or best practices to restore that database into a new machine.


Thanks for your help in advance.
Is this possible to restore a particular database using corresponding mdf and ldf files?
  


Yes, you can try to attach them, probably just try to attach using:

CREATE DATABASE restored_copy_of_db_name
ON (filename = 'c:\temp\backup_of_mdf.mdf'),
   (filename = 'c:\temp\backup_of_ldf.ldf')
FOR_ATTACH;


It is very common for this to fail, because the log file gets damaged from this type of event (see this post for reasons we don't rely on mdf/ldf files as backups), so then you can try:

CREATE DATABASE restored_copy_of_db_name
ON (filename = 'c:\temp\backup_of_mdf.mdf')
FOR_ATTACH_REBUILD_LOG;



  
  Do we need to have any mdfs from the system databases?
  


If you're trying to restore full functionality out of the gate, then your attached database above will not include server-level logins, jobs, etc. So you may need master and msdb in order to recover some of that information (but I would attach it as a user database (msdb_copy), rather than replacing msdb, and try to restore master on a throwaway instance - see this thread for possible ideas here, but I would not be confident you'll get that info back).


  
  Steps and/or or best practices to restore that database into a new machine. 
  


Nothing really in addition to the above, except, once you have these databases back, please set up a proper backup and recovery plan, which should include periodically testing that you can restore your databases - the fact that a backup was successful is not enough to ensure you won't be doing this again.