SQLServer2000 断电后数据库suspect“置疑”处理
SQLServer2000 斷電后數(shù)據(jù)庫suspect“置疑”處理
背景介紹:
前些天加班時候,接到小舅子微信,說一個客戶的winXP 機(jī)器上sql2000的數(shù)據(jù)庫在斷電重啟后,數(shù)據(jù)庫執(zhí)行命令時提示suspect“置疑”錯誤。小舅子電子工程師,對數(shù)據(jù)庫不夠深入了解很正常,知道我是搞數(shù)據(jù)庫的專門找我來了。雖然sqlserver流行度一直在全球前三,但工作經(jīng)歷中一直沒跟它打過交道。未來工業(yè)自動化發(fā)展,windows 視窗系統(tǒng)及配套程序在傳統(tǒng)行業(yè)、機(jī)械制造業(yè)中還是會廣泛應(yīng)用的。
問題處理:
– sqlserver 2000 服務(wù)器意外down機(jī),導(dǎo)致有連接未斷開的數(shù)據(jù)庫狀態(tài)變?yōu)椤翱梢伞薄?br /> https://blog.csdn.net/xiaolong9870/article/details/86578390
1、開通系統(tǒng)表修改權(quán)限
sp_configure ‘a(chǎn)llow updates’, 1 reconfigure with override;
2、將數(shù)據(jù)庫狀態(tài)設(shè)置為-32768(只讀\脫機(jī)\緊急模式)
update sysdatabases set status = -32768 where name in (‘HBNX_MCC_DEV’,‘HBNX_MCC_UAT’)
3,設(shè)置問題庫為單用戶模式,
sp_dboption ‘mysql’, ‘single user’, ‘true’
DBCC CHECKDB(‘mysql’)
4、恢復(fù)原數(shù)據(jù)庫狀態(tài)(將出問題的數(shù)據(jù)庫狀態(tài)改為0-正常,如果一直處于“緊急模式”,可能會對其他數(shù)據(jù)庫操作有影響)
update sysdatabases set status = 28 where name = ‘mysql’ ;
5、關(guān)閉系統(tǒng)表修改權(quán)限
sp_configure ‘a(chǎn)llow updates’, 0 reconfigure with override;
sp_dboption ‘mysql’, ‘single user’, ‘false’
https://blog.sina.com.cn/s/blog_5814f4470100d1cy.html
–數(shù)據(jù)庫處于回避恢復(fù)模式,是因為沒有日志。如下處理
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 ‘a(chǎn)llow updates’,0 reconfigure with override
go
sp_dboption ‘mysql’, ‘single user’, ‘false’
–切換到問題庫,測試查看某個數(shù)據(jù)庫中所有表名:
use mysql
select name from sysobjects where type=‘U’
Select TABLE_NAME FROM mysql.INFORMATION_SCHEMA.TABLES Where TABLE_TYPE=‘BASE TABLE’
總結(jié)
以上是生活随笔為你收集整理的SQLServer2000 断电后数据库suspect“置疑”处理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RDD 持久化
- 下一篇: RapidJSON v1.1.0 发布简