附加数据库失败,提示:
无法在数据库 'DBNAME' (数据库 ID 为 7)的页 (1:210288) 上重做事务 ID (0:0) 的日志记录
或者
在重做数据库 'DBNAME' 的日志中记录的操作时,日志记录 ID (1752535:20699:5) 出错
或者
找不到日志文件
或者
日志文件不匹配

首先:停止数据库服务,把有问题的数据库拷贝一份

第一步:先建立一个同名数据库,数据库文件和日志的名称设置成跟原数据库文件一致
停止SQL SERVER2008,将原来的.mdf数据库文件覆盖刚新建的.mdf数据库文件,重新启动数据库

第二步:查询分析器执行,
SQL code


alter database NEWDBNAME set emergency
declare @databasename varchar(255)
set @databasename='NEWDBNAME'
exec sp_dboption @databasename, N'single', N'true'
dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS) --将目标数据库置为单用户状态
dbcc checkdb(@databasename,REPAIR_REBUILD)
exec sp_dboption @databasename, N'single', N'false'


第三步:以上代码请同时运行,可能会出现“数据库其他多个文件与数据库主文件不匹配....”错误,请多次重试执行以上代码

断电 数据库状态 变为可疑,停掉数据服务后,复制一份数据。然后启动服务,直接在查询分析器执行以上代码,一般能够恢复正常

 

2019.8.6查询数据库恢复挂机,解决办法,执行下面代码 

下面代码的test改为你的库名
USE master
GO
ALTER DATABASE test SET SINGLE_USER
GO
ALTER DATABASE test SET EMERGENCY
GO
DBCC CHECKDB(test,REPAIR_ALLOW_DATA_LOSS)
GO
ALTER DATABASE test SET ONLINE
GO
ALTER DATABASE test SET MULTI_USER
GO

 

posted on 2016-04-22 09:34  御不凡  阅读(2206)  评论(0编辑  收藏  举报