7
数据库置疑后重新附加失败的解决办法
作者:mzoe 日期:2009-10-07 时间:13:16
问题现象
数据库置疑后重新附加失败,提示提示错误:
服务器: 消息 1813,级别 16,状态 2,行 1
未能打开新数据库 'demo'。CREATE DATABASE 将终止。
设备激活错误。物理文件名 'd:\mssql\demo_log.LDF' 可能有误
问题原因
日志文件损坏
解决方案
新建一同名数据库(文件名,文件组都和原来的一样),然后停止数据库服务,用原来文件替换新建的数据库文件,启动数据库
use master
go
sp_configure 'allow updates',1
go
reconfigure with override
go
//把数据库改成紧急模式
update sysdatabases set status=-32768 where dbid=DB_ID('demo')
go
//把LDF文件改名,再执行
dbcc rebuild_log('demo',''d:\mssql\demo_Log.LDF')
go
//恢复数据库到正常模式
update sysdatabases set status = 0 where name = 'demo'
go
restore database demo WITH RECOVERY
go
sp_configure 'allow updates',0
go
reconfigure with override
go