I am getting the following error while restoring the Diff back up after restoring the Full backup in Norecovery mode.
I am unable use dbcc checkdb
as the database in restoring db.Issues happens only in three instance where there is totally 6 instance. In other instance restore is working fine.
Error:
Msg 5052, Level 16, State 1, Line 4
ALTER DATABASE is not permitted while a database is in the Restoring
state.Msg 5069, Level 16, State 1, Line 4
ALTER DATABASE statement failed.
Location: filesystem.cpp:526
Expression: newTree.IsInArchive ()
SPID: 98
Process ID: 1956
Msg 3013, Level 16, State 1, Line 22
RESTORE DATABASE is terminating abnormally.
Msg 3624, Level 20, State 1, Line 22
A system assertion check has failed. Check the SQL Server error log
for details.Typically, an assertion failure is caused by a software bug or data
corruption. To check for database corruption, consider running DBCC
CHECKDB. If you agreed to send dumps to Microsoft during setup, a mini
dump will be sent to Microsoft. An update might be available from
Microsoft in the latest Service Pack or in a QFE from Technical
Support.
Help me in resolving this issue.
Best Answer
This error can be caused by transient, timing-related errors, or by in-memory or on-disk data corruption.
This message also says that the backup set which you are trying to restore as differential backup is actually not consistent and SQL Server cannot bring database to a logical point if you try to apply this backup. The assertion checks are either SQL Server bugs or something corrupt in database.
You can bring database online and can run regular
dbcc checkdb
command and post the outputYou need to also check your differential backup is consistent and you can do that by below command
run above command and paste the result in question
Since database is in recovery mode you cannot run any command on it that is why every command you run on it fails
Lastly can you also add output of