Home » Topic » How to Recover SQL Server Database from SUSPECT Mode

How to Recover SQL Server Database from SUSPECT Mode

Stephen West ~ Modified: February 8th, 2016 ~ ~ 1 Minute Reading

Home Forums How to Recover SQL Server Database from SUSPECT Mode

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #1100 Score: 0
    Stephen West
    Moderator
    4 pts

    I am facing the issue on my MS SQL 2008 Database, which is marked as suspect. I have a database backup but it’s not updated (older, more than a week). Is there a any other way to repair suspect SQL Server database.

    And can anybody explain what is the cause for database goes to SUSPECT mode?

    #1104 Score: 0
    Lincoln Burrows
    Moderator
    16 pts

    Some of the basic reasons for SQL Server Database to go into suspect mode are:

    • SQL Server Database file or transaction log could have been corrupted
    • Unexpected shutdown of SQL Server database
    • Database could not be opened due to the lack of disk space

    To recover SQL Server database from suspect mode

    • At very first change the status of your database
    • Change Database Status

    • Then set the SQL Server database in emergency mode
    • Set In Emergency Mode

    • Check the database for any inconsistency
    • Database Inconsistency

    • Then execute the following query
    • Recover SQL Server Database From Suspect Mode

    • Now run the REPAIR_ALLOW_DATA_LOSS
    • Repair Allow Data Loss

    • Change database mode to MULTI USERS
    • Multi Users

    • Refresh your database server and connect to database

    Note: take the backup of your database for safety

    #1105 Score: 0
    Andrew Jackson
    Moderator
    1 pt

    First of all make sure that you do not detach suspected database
    Then execute the following query:

    EXEC sp_resetstatus 'DatabaseName';
    ALTER DATABASE DatabaseName SET EMERGENCY
    DBCC checkdb('DatabaseName')
    ALTER DATABASE DatabaseName SET SINGLE_USER WITH ROLLBACK IMMEDIATE
    DBCC CheckDB ('DatabaseName', REPAIR_ALLOW_DATA_LOSS)
    ALTER DATABASE DatabaseName SET MULTI_USER
    
Viewing 3 posts - 1 through 3 (of 3 total)
  • You must be logged in to reply to this topic.