SQL Server Admin
T-SQL Articles

March 08, 2011

Repair SQL Server Database marked as Suspect or Corrupted




There can be many reasons for a SQL Server database to go in a suspect mode when you connect to it - such as the device going offline, unavailability of database files, improper shutdown etc. Consider that you have a database named ‘test’ which is in suspect mode

You can bring it online using the following steps:

  1. Reset the suspect flag
  2. Set the database to emergency mode so that it becomes read only and not accessible to others
  3. Check the integrity among all the objects
  4. Set the database to single user mode
  5. Repair the errors
  6. Set the database to multi user mode, so that it can now be accessed by others

Here is the code to do the above tasks:

repairdatabase

Here’s the same code for you to try out

EXEC sp_resetstatus 'test'

ALTER DATABASE test SET EMERGENCY

DBCC CheckDB ('test')

ALTER DATABASE test SET SINGLE_USER WITH ROLLBACK IMMEDIATE

DBCC CheckDB ('test', REPAIR_ALLOW_DATA_LOSS)

ALTER DATABASE test SET MULTI_USER


Did you like this post?
kick it on DotNetKicks.com
subscribe via rss subscribe via e-mail
print this post follow me on twitter


About The Author

Madhivanan,an MSc computer Science graduate from Chennai-India, works as an Assistant Project Manager at Ellaar Infotek Solutions Private Limited. He started his career as a developer working with Visual Basic 6.0, SQL Server 2000 and Crystal Report 8. As years went by, he started working more on writing queries in SQL Server. He now has good level of knowledge in SQLServer, Oracle, MySQL and PostgreSQL as well. He is also one of the leading posters at www.sqlteam.com and a moderator at www.sql-server-performance.com. His T-sql blog is at http://beyondrelational.com/blogs/madhivanan

 
  Feedback:

comments

7 Responses to "Repair SQL Server Database marked as Suspect or Corrupted"
  1. Anonymous said...
    March 9, 2011 8:55 PM

    :hugs: thank you thank you thank you Madhivanan

    -_- Nina

  2. Madhivanan said...
    March 10, 2011 4:07 AM

    Thanks Nina for the feedback

  3. Musab said...
    March 12, 2011 4:04 AM

    thanks dear , actually i facing this issue .. i wondering before do any action , is there any risk for data when i executing this solution ?
    and should the SQL agent be stoped ?

    message : Database 'msdb' cannot be opened. It has been marked SUSPECT by recovery. See the SQL Server errorlog for more information. (Microsoft SQL Server, Error: 926)

    SQL Server 2008

    wating for ur reply ?
    Best Regareds ,

  4. Musab said...
    March 12, 2011 4:05 AM
    This comment has been removed by the author.
  5. Madhivanan said...
    March 13, 2011 11:51 PM

    Musab,

    You need to repair it before using the database. Follow the article

  6. Anonymous said...
    April 4, 2011 5:28 PM

    my problem is with MS-SQL 2005 and MSDB is marked corrupted and backup is missing at failure hard disk.
    its posible recovery msdb?

    Joe

    joebanbino@yahoo.com

  7. SQL Recovery said...
    April 8, 2011 12:43 AM

    Hello Dear,

    Well written, i m a product reviewer and i also write a article on the same topic. if you interested then check here

    http://sql-server-recovery.blogspot.com/2010/10/repair-restore-sql-server-database-from.html

 

Copyright © 2009-2011 All Rights Reserved for SQLServerCurry.com by Suprotim Agarwal | Terms and Conditions