加入收藏 | 设为首页 | 会员中心 | 我要投稿 南京站长网 (https://www.025zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server 2005数据库文件恢复:检测到基于一致性的逻辑 I/O错误

发布时间:2016-10-09 05:52:54 所属栏目:MsSql教程 来源:站长网
导读:今天sql-server数据库突然报错: SQL Server 检测到基于一致性的逻辑 I/O 错误 校验和不正确(应为: 0x7c781313,但实际为: 0x67a313c9)。在文件 'C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDATAE_BLOCK_DB.mdf' 中、偏移量为 0x00000000a3400

今天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/

(编辑:南京站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读