restore database using bak file - resorting to old date? Last night I made a full backup of my DB in SQL server management, when I restore the DB instead of being complete - it is missing all its data from the last few month.  

The full backup was taken last night and is market as - 07/05/2014 16:54 
However the information in the tables has restored itself to 24/02/2014 

any help would be greatly appreciated -
Does your backup file contain multiple backups (known as backup sets), and are you restoring just the earliest backup set from the backup file? 

To see the backup sets in a file run the following and note the Position column, which denotes the backup set:

RESTORE HEADERONLY FROM DISK='mybackup.bak'


To restore a specific backup set from a backup:

RESTORE DATABASE ... WITH FILE = &lt;position from previous statement&gt;


Why does this happen?

If you use the same filename every time in your backup script (e.g. BACKUP DATABASE MyDb TO DISK='backup.bak'), and that file is not deleted or changed between backups, then your backup is added to the backup sets in that file. If you then run RESTORE DATABASE ... without a WITH FILE=&lt;position&gt; clause, you will always restore the first backup set in the backup media - usually your earliest one.

The details:

The RESTORE HEADERONLY command is useful for a backup file (if you are looking at it on a different server to the one it was created on). You can also see the backups on the server that created them by running the command:

SELECT backup_set_id, media_set_id, position, backup_finish_date 
FROM msdb.dbo.backupset


If you want to check which backup set you just restored from a multi-file media then you can run:

SELECT * FROM msdb.dbo.restorehistory


Note the backup_set_id which corresponds to the msdb backupset table and in turn to the media file and position within that file.

References:

From MSDN: RESTORE Arguments (Transact-SQL):


  Backup Set Options 
  
  FILE ={ backup_set_file_number | @backup_set_file_number }
  
  ...
  
  When not specified, the default is 1.