Database entered "Suspect" mode and I was unable to recover on RDS

0

Hi,

We had a database flag as "Suspect" using MSSQL on RDS. We were unable to recover this database on RDS as RDS does not allow you to set a DB in to emergency mode (the first step of the recovery process).

In the end we had to create a MSSQL server on an EC2 instance as every restore would always result in the Suspect flag even older ones. When the DB flagged as "Suspect" on the EC2 instance I was able to recover with DBCC CHECKDB functions after setting the DB to emergency mode.

Just wondering if anyone or AWS have a way of dealing with this on RDS should it ever happen again?

I've found very little information online and even less on how to deal with Suspect DBs on RDS.

Thanks in advance!

Chris

2 Answers
1

Thank you for reaching out.

The database state changes to ‘suspect’ mode when database recovery process has initiated but not finished successfully, requiring users to fix that issue and repair the corrupted files. It further implies that the database is not available for user access: you are unable to connect to the database or recover it during the server startup.

In general, there may be multiple general causes for database going into suspect state. Some of them includes,

  • Database files could have been corrupted.
  • There is not enough space available for the SQL Server to recover the database during startup.
  • Database cannot be opened due to inaccessible files or insufficient memory or disk space.
  • Database files are being held by operating system, third party backup software etc.
  • Unexpected SQL Server Shutdown, Power failure or a Hardware failure
  • There may be issues while rolling back or completing a transaction.
  • The device or drive is inaccessible to the server where the server log files are kept due to hardware issues in storage devices.

To answer your question, we require details that are non-public information. Please open a support case with AWS using the following link.

That being said, please do accept answers if the answers resolve your question. That's a best practice in Q&A communities both for other viewers and also out of respect to other's time spent answering the questions.

As always, Happy Cloud Computing.

AWS
SUPPORT ENGINEER
Arnab_S
answered 2 years ago
AWS
EXPERT
reviewed 2 years ago
  • Hi,

    Thanks for your input!

    We think we tracked this down to one table exceeding 11 million rows and potentially the safe limits of MSSQL and that's fine we're working on optimising that area of our application and we'll be keeping the database in question on EC2 for now incase we need to recover it again.

    The question was how to fix a "Suspect" DB once it gets to that point on RDS, step one is to put the DB in to Emergency mode which doesn't seem possible or do we just have to fire up a EC2 Instance to recover?

    Thanks,

    Chris

0

Hi, My team faced the same issue, we could recover all data but with the help of AWS support team. We opened a ticket with them because the only way to recover everything is by executing some troubleshooting with sysadmin privileges and this is managed by them. We waited like 3 hours, but thankfully everything went just fine.

answered 7 months ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions