度量快速开发平台-专业、快速的软件定制快开平台

标题: sqlserver modellog.ldf 检测到基于一致性的逻辑 I/O 错误不能启动数据库的方法 [打印本页]

作者: 王爱东    时间: 2020-6-12 10:51
标题: sqlserver modellog.ldf 检测到基于一致性的逻辑 I/O 错误不能启动数据库的方法
本地sqlserver数据库在服务中启动的时候报错,检查应用日志出现错误。
SQL Server 检测到基于一致性的逻辑 I/O 错误 校验和不正确(应为: 0x0e5aa651,但实际为: 0x0e5aa035)。在文件 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\modellog.ldf' 中、偏移量为 0000000000000000 的位置对数据库 ID 3 中的页 (2:0) 执行 读取 期间,发生了该错误。SQL Server 错误日志或系统事件日志中的其他消息可能提供了更详细信息。这是一个威胁数据库完整性的严重错误条件,必须立即纠正。请执行完整的数据库一致性检查(DBCC CHECKDB)。


错误:连接数据库的时候提示:SQL Server 检测到基于一致性的逻辑 I/O 错误 校验和不正确
C:\Documents and Settings\Administrator>"C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Release\setup.exe" /q /ACTION=REBUILDDATABASE /INSTANCENAME=MSSQLSERVER /SQLSYSADMINACCOUNTS=administrator /SAPWD=password Microsoft (R) SQL Server 2008

本地电脑上安装的MS SQL Server 2008 R2可能因为硬盘原因,导致SQL Server服务无法启动,在事件查看器中看到若干错误和信息,其中有两条提示可能master损坏:
1、错误:传递给数据库 'master' 中的日志扫描操作的日志扫描号 (184:416:1) 无效。此错误可能指示数据损坏,或者日志文件(.ldf)与数据文件(.mdf)不匹配。如果此错误是在复制期间出现的,请重新创建发布。否则,如果该问题导致启动期间出错,请从备份还原。
2、信息:无法恢复 master 数据库。SQL Server 无法运行。请利用完整备份还原 master 数据库,修复它,或者重新生成它。有关如何重新生成 master 数据库的详细信息,请参阅 SQL Server 联机丛书。

重新安装SQL Server问题不难解决,但太耗时。google到一个快捷的恢复方法,分享如下:

1、复制model.mdf、mastlog.ldf、model.mdf、modellog.ldf、msdbdata.mdf、msdblog.ldf文件。

X:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Binn\Templates

X:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA
注:以上“X:\Program Files\Microsoft SQL Server”为SQL Server的安装目录。以下的“C:\Program Files\Microsoft SQL Server”为系统盘下的目录

2、定位并执行安装命令

首先找到安装命令:
C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Release\setup.exe

如果只是Windows身份验证模式,只需要如下语法即可:
setup /ACTION=REBUILDDATABASE /QUIET /INSTANCENAME=<instance name> /SQLSYSADMINACCOUNTS=<accounts>
如果是复合身份验证模式,则需要使用/SAPWD参数提供sa的密码:
setup /ACTION=REBUILDDATABASE /QUIET /INSTANCENAME=<instance name> /SQLSYSADMINACCOUNTS=<accounts> /SAPWD=<sa password>

我安装时设置的是复合认证模式,SQL Server系统管理员帐号是administrators组,sa密码是123456。并且就一个默认实例:MSSQLSERVER。
所以在命令行执行如下命令:
setup /ACTION=REBUILDDATABASE /QUIET /INSTANCENAME=MSSQLSERVER /SQLSYSADMINACCOUNTS=administrators /SAPWD=123456

执行完毕后没有任何提示信息(不管成功与否),但是可以马上在C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log\Summary.txt中查看安装日志。

最后,在Sql Server Configuration Manager中启动SQL Server服务成功。


作者: 王爱东    时间: 2020-6-12 10:51
还有方法就是简单好用的重新安装sqlserver数据库,再把业务库附加上来。
作者: 张兴康    时间: 2020-6-12 13:58
还没遇到过这个问题,先收藏
作者: 王爱东    时间: 2020-6-12 14:16
已经遇到了。不过这个拷贝文件过来,还可能无法启动。最好还是重新搞。
作者: 万望    时间: 2020-6-13 00:41
王爱东 发表于 2016-1-12 10:51
还有方法就是简单好用的重新安装sqlserver数据库,再把业务库附加上来。

这个方法就是没得办法后的办法吧
作者: 万望    时间: 2020-6-13 00:43
成功几率就得靠拼RP啦。不行还是重头再来吧
作者: 刘亚东    时间: 2020-6-13 19:01
高级货啊,还得多学习




欢迎光临 度量快速开发平台-专业、快速的软件定制快开平台 (http://bbs.delit.cn/) Powered by Discuz! X3.2