|
The following Microsoft SQL Server T-SQL database administration script can be used for recovery.
An SQL Server database can
become marked suspect for several reasons. Possible causes include
denial of access to a database resource by the operating system, anti-virus software is locking it up
and the unavailability or corruption of one or more database files.
Prior to resetting the status, the database file issue should be resolved.
USE master
GO
/*********************************************
* do the following only after all other possibilities eliminated
* use suspect database name instead of 'CopyOfpubs'
**********************************************/
EXEC sp_resetstatus 'CopyOfpubs';
/*********************************************
* if tables are readable, save content into a different database
* access will be limited to members of the sysadmin fixed server role
* EMERGENCY is primarily used for troubleshooting purposes
**********************************************/
ALTER DATABASE CopyOfpubs SET EMERGENCY
DBCC CheckDB('CopyOfpubs')
/*********************************************
* dbcc checktable can also be performed to isolate damage
**********************************************/
ALTER DATABASE CopyOfpubs SET SINGLE_USER WITH ROLLBACK IMMEDIATE
/*********************************************
* do next step only after everything savable was saved into a different db
**********************************************/
DBCC CheckDB ('CopyOfpubs', REPAIR_ALLOW_DATA_LOSS)
ALTER DATABASE CopyOfpubs SET MULTI_USER
/*********************************************
* stop SQL Server 2005 service
* start SQL Server 2005 service
**********************************************/
DBCC CheckDB('CopyOfpubs')
/*********************************************
* check population of tables
**********************************************/
Related article:
http://sqlusa.com/bestpractices2005/markedsuspect/
|