SQL Server 错误: 9003修复记 http://www.cnblogs.com/esshs/archive/2005/05/18/158360.html

今天很不巧,早上上班一开机刚刚启动到快输入密码时就停了电。下午来电后开机一看,居然SQL Sever启动不了 。查看数据库日志出现以下错误:
错误: 9003,严重度: 20,状态: 1
The LSN (6:222:1) passed to log scan in database 'model' is invalid.
错误: 9003,严重度: 20,状态: 1
LSN (6:222:1) 无效。该 LSN 是传递给数据库 'model' 中的日志扫描操作的。

  查看联机帮助,无果。重装数据库,反正是自己机器上的数据都无关紧要。还好服务器一切正常,需要数据从服务器上导入即可。不过为了省去重装的麻烦还是先上网搜索了一下。尝试修复错误,总比动不动重装要有所提高。

上网搜寻结果如下:
应该是数据文件或者日志文件损坏了。
1 )设置数据库为紧急模式
停掉SQL Server服务;
把应用数据库的数据文件XXX_Data.mdf移走;
重新建立一个同名的数据库XXX;
停掉SQL服务;
把原来的数据文件再覆盖回来;
运行以下语句,把该数据库设置为紧急模式;
运行“
Use  Master
Go
sp_configure 
' allow updates ' 1
reconfigure   with  override
Go

执行结果:
DBCC  执行完毕。如果  DBCC  输出了错误信息,请与系统管理员联系。
已将配置选项 
' allow updates '  从  0  改为  1 。请运行  RECONFIGURE  语句以安装。

接着运行“
update  sysdatabases  set  status  =   32768   where  name  =   ' XXX '


重启SQL Server服务;
运行以下语句,把应用数据库设置为Single User模式;
运行“sp_dboption 
' XXX ' ' single user ' ' true '

执行结果:
命令已成功完成。

做DBCC CHECKDB;

运行“
DBCC  CHECKDB( ' XXX ' )”
运行以下语句把系统表的修改选项关掉;
运行“sp_resetstatus "XXX"
go
sp_configure 
' allow updates ' 0
reconfigure   with  override
重新建立另外一个数据库XXX.Lost;
2 )DTS导出向导
运行DTS导出向导;

这样,XXX.Lost数据库就可以替换原来的应用数据库了。

  看了文章发现要修复还是挺复杂的,重新看日志,发现问题是出在model数据库。我想我不如把我的另外一个数据库实例中的model数据库直接Copy过来不就行了,反正model数据库用作在系统上创建的所有数据库的模板。应该实例中的model数据库和要恢复的差不多吧。后来把实例数据库中的model.mdf覆盖过来,重启数据库服务。居然好了,用了一阵也一切正常。OK!问题解决了。
  心得:看来以后遇到系统问题不能总走重装的老路,这样对自己才有提高。 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值