Restoring a database to a point in time enables you to go back the databases to a state before an event that was bad to the database.
For this option to work, the database wants to be either in the FULL or Bulk-Logged reimbursement model and you need to perform transaction log backups.
The effort to recover to point-in-time failures with the following error, when the T-log backup has minimally logged transaction.
It means that, either the entire log backup should be restored or nothing. So, the point-in-time recovery is not possible from a log backup under bulk- logged that includes any minimally logged operations.
How to resolve SQL error 4341 by T-SQL
If you have a full backup and the transaction log has a minimally logged operation, you can try to do a point in time recovery using the commands below:
RESTORE DATABASE ExampleDatabase FROM DISK = 'C:\ExampleDatabase.BAK'
WITH NORECOVERY
GO
RESTORE LOG ExampleDatabase FROM DISK = 'C:\ExampleDatabase.TRN'
WITH RECOVERY,
STOPAT = 'Oct 18, 2020 4:15:00 pm'
GO
It will try to restore the database to a point in time equal to “Oct 18, 2020, 4:15 PM”. You will get an error 4341 if there are bulk operations.
When the restore operation is completed, it will restore the whole transaction log backup and leave the database in a “restoring” state.
Then you can either restore further transaction logs or apply the option 'RESTORE .. WITH RECOVERY' to bring the database back online.
How to restore using SSMS
To restore to a point in time using SQL Server Management Studio, do the following:
1) Select the backup and the transaction logs you require to restore.
2) Click the option “To a point in time” to select the point in time you want to recover the database.