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.

Bu cevap yeterince yardımcı oldu mu? 0 Bu dökümanı faydalı bulan kullanıcılar: (0 Oy)