SQLServer2000 断电后数据库suspect“置疑”处理

SQLServer2000 断电后数据库suspect“置疑”处理

背景介绍:

前些天加班时候,接到小舅子微信,说一个客户的winXP 机器上sql2000的数据库在断电重启后,数据库执行命令时提示suspect“置疑”错误。小舅子电子工程师,对数据库不够深入了解很正常,知道我是搞数据库的专门找我来了。虽然sqlserver流行度一直在全球前三,但工作经历中一直没跟它打过交道。未来工业自动化发展,windows 视窗系统及配套程序在传统行业、机械制造业中还是会广泛应用的。

问题处理:

– sqlserver 2000 服务器意外down机,导致有连接未断开的数据库状态变为“可疑”。
https://blog.csdn.net/xiaolong9870/article/details/86578390

1、开通系统表修改权限
sp_configure ‘allow updates’, 1 reconfigure with override;

2、将数据库状态设置为-32768(只读\脱机\紧急模式)
update sysdatabases set status = -32768 where name in (‘HBNX_MCC_DEV’,‘HBNX_MCC_UAT’)

3,设置问题库为单用户模式,
sp_dboption ‘mysql’, ‘single user’, ‘true’
DBCC CHECKDB(‘mysql’)

4、恢复原数据库状态(将出问题的数据库状态改为0-正常,如果一直处于“紧急模式”,可能会对其他数据库操作有影响)
update sysdatabases set status = 28 where name = ‘mysql’ ;

5、关闭系统表修改权限
sp_configure ‘allow updates’, 0 reconfigure with override;
sp_dboption ‘mysql’, ‘single user’, ‘false’

https://blog.sina.com.cn/s/blog_5814f4470100d1cy.html
–数据库处于回避恢复模式,是因为没有日志。如下处理
update sysdatabases set status=-32768 where name=‘mysql’
go

dbcc rebuild_log(‘mysql’,‘C:\Program Files\Microsoft SQL Server\MSSQL\data\mysql.LDF’)
go

update sysdatabases set status=28 wherename=‘mysql’
go

sp_configure ‘allow updates’,0 reconfigure with override
go

sp_dboption ‘mysql’, ‘single user’, ‘false’

–切换到问题库,测试查看某个数据库中所有表名:
use mysql
select name from sysobjects where type=‘U’
Select TABLE_NAME FROM mysql.INFORMATION_SCHEMA.TABLES Where TABLE_TYPE=‘BASE TABLE’

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值