How to Fix a SQL Server Database in Suspect Mode

Database shows Suspect? Learn what it means and the safest order of steps to get your data back.

Fact-checked Reviewed by Aswin Vijayan Updated November 2, 2026 Based on 2 sources
Summary

Startup recovery failed for a suspect database so it is unavailable. Check the state, open the error log and restore from a good backup. Emergency state gives administrators view only access so you can copy data out. Repair options are the last resort because they can delete data.

You open SQL Server Management Studio and a database shows the word Suspect. Applications that use it stop working at once.

This guide explains what the suspect state means and shows the safest order of steps. All commands are untested and follow the official pages.

What is SQL Server Suspect Mode?

Microsoft states that in the suspect state at least the primary filegroup is suspect and can be damaged. Startup recovery failed and the database is unavailable. See database states.

Microsoft also states that a recovering database becomes suspect when its recovery fails. That page asks for further action from you and lists no steps.

How do You Confirm the Database State?

Query Window (T-SQL)
SELECT name, state_desc FROM sys.databases
WHERE state_desc IN ('SUSPECT', 'EMERGENCY')
Microsoft documents the state_desc column for this check

Next open the SQL Server error log. Entries before the failure can name the file or the page that failed. This step comes from general SQL Server practice.

Which Recovery Path should You Choose?

PathUse WhenData Loss Risk
1. Restore from backupA good backup existsLowest
2. Emergency state and copy outYou need data that no backup containsNone for data you copy
3. Repair optionNothing else worksPossible

Copy the database files before you try any step. Copies give you a way back when a step fails.

How do You Restore a Suspect Database From Backup?

Microsoft always recommends a restore from the last known good backup as the primary method to recover from integrity errors. See DBCC CHECKDB.

  1. Take a tail log backup if the log is readable.
  2. Restore the last full backup with NORECOVERY.
  3. Restore later differential and log backups with NORECOVERY.
  4. Finish with RECOVERY and check the database state again.

When only a few pages are damaged see how to resolve SQL Server page level corruption.

How do You Use Emergency State to Copy Data?

Microsoft states that EMERGENCY is mainly for troubleshooting. You can set a suspect database to EMERGENCY, which gives sysadmin members view only access. Logging is disabled in this state.

Query Window (T-SQL)
ALTER DATABASE SuspectDemoDB SET EMERGENCY

Copy the data you need to a new database. Treat emergency state as temporary because the database is view only and unlogged.

Should You Repair a Suspect Database?

Only when no backup exists. Microsoft states that REPAIR_ALLOW_DATA_LOSS can cause more data loss than a restore and needs single user mode. Create physical copies of the files first.

For repair options and their limits see the guide to DBCC CHECKDB alternatives.

Frequently Asked Questions

What does Suspect Mode Mean in SQL Server?

Microsoft states that the primary filegroup can be damaged and that startup recovery failed. It is unavailable.

Can I Open a Suspect Database?

No. Set it to EMERGENCY state to get view only access as a sysadmin.

What is the Safest Fix?

Restore from the last known good backup. Microsoft recommends this first.

Does Emergency State Allow Writes?

No. Emergency state is view only and logging is disabled.

Should I Use REPAIR_ALLOW_DATA_LOSS?

No unless no backup exists. Microsoft calls it an emergency last resort.

Key Takeaways

  • Suspect state means startup recovery failed for the database.
  • Restoring from a good backup is the safest fix.
  • Emergency state gives sysadmin members view only access to copy data.
  • Copy the database files before any repair step.
  • Repair options can delete data and come last.

Sources and References

This guide follows Microsoft documentation. Commands are untested.

  1. Database States (Microsoft Learn) learn.microsoft.com
  2. DBCC CHECKDB (Microsoft Learn) learn.microsoft.com