用下列方法,在企业管理器中看到了数据库的内容:
sp_configure 'allow updates',1
go
reconfigure with override
go
use master
update sysdatabases set status =-32768 where name='公司数据库'
go
sp_configure 'allow updates',0
go
reconfigure with override
再用set status =4194308 ,将状态恢复。
数据库重起后,在企业管理器中,查看'公司数据库'的属性,只有数据文件,没有日志文件;
数据库虽然能看到,但是还是不能在应用中使用;
此时想备份此数据库,提示:
Server: Msg 3033, Level 16, State 1, Line 1
BACKUP DATABASE cannot be used on a database opened in emergency mode.
Server: Msg 3013, Level 16, State 1, Line 1
Backup or restore operation terminating abnormally.
下一步怎么使数据处于正常状态,各位高手,大侠们帮忙。
SQL SERVER LOGS:
Starting up database '公司数据库'.
Opening file d:\MSSQL7\DATA\公司数据库.mdf.
Opening file d:\MSSQL7\DATA\公司数据库_log.ldf.
Bypassing recovery for database '公司数据库' because it is marked SUSPECT.
对策
仅在必要时才扩展 master 或 model 数据库。如果需要,master 数据库会自动增长。如果 master 文件驻留的磁盘驱动器没有空间,则要么删除其它文件以腾出更多的磁盘空间,要么以较大的磁盘驱动器替代该磁盘驱动器。如果需要扩展 model 数据库,请确保 model 数据文件当前所驻留的磁盘驱动器具有可用的磁盘空间。
这种情况我见过,很可能数据是找不回来了,所以最好使用备份来恢复,如果你想试试的话,可以试试我这种方法:
sp_configure 'allow updates',1
go
reconfigure with override
go
use master
update sysdatabases set status =-32768 where name='yourdbname'
go
sp_configure 'allow updates',0
go
reconfigure with override
然后重新进入SQLEM看看,这时你的库就应变成紧急状态了,看看这时候能否读出数据了,如果能读出的话基本上就可以修复.