TailLog backup contains the transaction log that was generated after the last log backup.so this is necessary if you want to restore to latest point in time.When we try to restore the database which is online and whose tail log has not been backed up ,SQL Server will throw the error you are getting
To avoid this error use
But with above option,you will lose data forever. So I recommend,
1.Take the tail log backup too
2.Restore your main database with recovery
3.Then your tail log backup with no recovery
Below is some additional info on why you are getting error(highlighted Relevant info which applies to you).Taken From Books Online
We recommend that you take a tail-log backup in the following scenarios:
If the database is online and you plan to perform a restore operation on the database, begin by backing up the tail of the log. To avoid an error for an online database, you must use the … WITH NORECOVERY option of the BACKUPTransact-SQL statement.
If a database is offline and fails to start and you need to restore the database, first back up the tail of the log. Because no transactions can occur at this time, using the WITH NORECOVERY is optional.
If a database is damaged, try to take a tail-log backup by using the WITH CONTINUE_AFTER_ERROR option of the BACKUP statement.
On a damaged database backing up the tail of the log can succeed only if the log files are undamaged, the database is in a state that supports tail-log backups, and the database does not contain any bulk-logged changes. If a tail-log backup cannot be created, any transactions committed after the latest log backup are lost.