加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql server 错误9003:LSN无效(日志扫描号无效),对数据库的修复

发布时间:2016-01-16 05:15:52 所属栏目:MsSql教程 来源:网络整理
导读:sql server 错误9003:LSN无效(日志扫描号无效) 今天,从朋友那儿接到一个有问题的数据库文件与日志文件,在使用sql2000与sql2005进行数据库附加时, sql server报
sql server 错误9003:LSN无效(日志扫描号无效)

今天,从朋友那儿接到一个有问题的数据库文件与日志文件,在使用sql2000与sql2005进行数据库附加时,

sql server报错,错误信息: "传递给数据库 'POS' 中的日志扫描操作的日志扫描号 (2806:120:1) 无效。

此错误可能指示数据损坏,或者日志文件(.ldf)与数据文件(.mdf)不匹配。

如果此错误是在复制期间出现的,请重新创建发布。否则,如果该问题导致启动期间出错,请从备份还原。

无法打开新数据库 'POS'。CREATE DATABASE 中止。 (Microsoft SQL Server,错误: 9003)"

一看是9003错误,就想到可能是由于日志文件的原因,再看数据库文件可能损坏,于是想到dbcc checkdb指令.

方法如下:

1.我们使用默认方式建立一个供恢复使用的数据库(如pos)。可以在SQ Server Enterprise Manager里面建立。

2.停掉数据库服务器。

3.将刚才生成的数据库的日志文件pos_log.ldf删除,用要恢复的数据库mdf文件覆盖刚才生成的数据库数据文件pos_data.mdf。

4.启动数据库服务器。此时会看到数据库pos的状态为“置疑”。这时候不能对此数据库进行任何操作。

5.设置数据库允许直接操作系统表。此操作可以在SQ Server Enterprise Manager里面选择数据库服务器,按右键,选择“属性”,在“服务器设置”页面中将“允许对系统目录直接修改”一项选中。也可以使用如下语句来实现。

use   master
go
exec sp_configure   'allow updates',1
go
reconfigure   with   override
go  

6.设置pos为紧急修复模式 update sysdatabases set status=-32768 where dbid=DB_ID('pos')

此时可以在SQL   Server   Enterprise   Manager里面看到该数据库处于“只读置疑脱机紧急模式”可以看到数据库里面的表,但是仅仅有系统表

7.下面执行真正的恢复操作,重建数据库日志文件

go

dbcc rebuild_log('pos','D:Program FilesMicrosoft SQL ServerMSSQLDatapos_log.ldf')

go

(编辑:云计算网_泰州站长网)

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

    推荐文章
      热点阅读