sql-server 2005数据库文件恢复:检测到基于一致性的逻辑 I/O错误
今天sql-server数据库突然报错: SQL Server 检测到基于一致性的逻辑 I/O 错误 校验和不正确(应为: 0x7c781313,但实际为: 0x67a313c9)。在文件 'C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDATAE_BLOCK_DB.mdf' 中、偏移量为 0x00000000a34000 的位置对数据库 ID 5 中的页 (1:1306) 执行 读取 期间,发生了该错误。SQL Server 错误日志或系统事件日志中的其他消息可能提供了更详细信息。这是一个威胁数据库完整性的严重错误条件,必须立即纠正。请执行完整的数据库一致性检查(DBCC CHECKDB)。此错误可以由许多因素导致;有关详细信息,请参阅 SQL Server 联机丛书。 折腾了许久,解决方案如下: 第一步:先建立一个同名数据库,停止SQL SERVER2005,将不能打开的.mdf数据库文件和.ldf文件覆盖刚新建的f数据库的两个文件 第二步:重新启动数据库 第三步:在查询分析器中运行如下代码: alter database 数据库名 set emergency —将数据库设置为紧急状态 use master declare @databasename varchar(255) set @databasename=‘数据库名’ —你的.mdf文件文件名 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’—将目标数据库置为多用户状态 第四步:执行出现“数据库其他多个文件与数据库主文件不匹配….”错误,再执行一次即可。 查看本栏目更多精彩内容:http://www.bianceng.cn/database/SQLServer/ (编辑:南京站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |