因为连续的雷雨天气,安全部要求晚上关掉服务器,数据库本来是晚上自动备份的,这几天也就没有了备份,可是周一来的时候,其中一个数据库突然显示质疑,其他数据库也都无法打开,网上一些恢复质疑的方法也都试过了,都没有能够成功,
执行方法如下:
use Master   
go   
update sysdatabases set status=32768 where name='AIS20091121100842'     --修改状态,設為緊急狀態 
go   
shutdown with nowait     --停止数据库服务器   
go   
--d.退出SQL并在(COMMAND)命令行模式中通过下面的代码重新启动SQL:   
sqlservr -c -T3608 -T4022     --安全模式启动SQL SERVER
--e.在查询分析器中执行以下语句来查看刚刚修改过状态的数据库状态:   
select Name,Status from sysdatabases where Name='AIS20091121100842'  
--f.执行以下代码新建日志文件:   
dbcc traceon(3604)--跟踪   
dbcc rebuild_log('AIS20091121100842','N:\K3data\AIS200911211008421_log.LDF') --文件名要有全路径和扩展名
--dbcc rebuild_log('prs_msc','d:\mscsql\mssql\data\prs_msc_log.ldf
--g.将数据库置回正常状态:   
update sysdatabases set status=0 where name='AIS20091121100842'   
--h.重新启动数据库后执行以下语句检查数据库:   
DBCC CHECKDB --如果执行完有错误用以下语句修复   
--i.要修复数据库必需将数据库改为单用户模式:   
Exce sp_dboption 'AIS20091121100842','single user','false'---('false'恢复多用户)   
--j.执行以下语句修复数据库:   
DBCC CHECKDB('AIS20091121100842',REPAIR_ALLOW_DATA_LOSS)   
REPAIR_ALLOW_DATA_LOSS:是比较高级的修复方式   
REPAIR_FAST:是简单快速的修复方式提示错误:
未能读取并闩锁页 (1:4094)(用闩锁类型 SH)。sysobjects 失败。
——-——————————————————————————————
此时打开数据库,提示823错误,
直接重新附加数据库提示7912错误,