产品创新
常见问题

sql2000如何修复数据库质疑

作者:呱呱叫蹦床馆软件来源:蹦床公园行业访问:时间:2020/7/26 19:44:02

Sql Server数据库本身依赖于操作系统、文件读写存储等环境,数据库经常因为操作系统、异常关机、异常终止退出或者SQL Server数据库本身的机制问题均会导致数据库无故损坏。因此我们要对数据库进行修复。

工具/原料

  • SQL查询分析器

方法/步骤

  1. 1

    下面以hbfsv8数据库为例

    停止SQL服务管理器,将原数据文件拷贝出来进行备份,然后将原数据库删除。

    MS SQL数据库置疑修复
  2. 2

    启动SQL Server服务(如已停止),创建一个新的数据库,命名为原来数据库的名字。

    MS SQL数据库置疑修复
  3. 3

    停止SQL Server服务,用备份出来的老数据库的MDF文件替换新数据库相应的MDF文件,并把新数据库相应的LDF文件删除。

    MS SQL数据库置疑修复
  4. 重新启动SQL Server服务,然后运行如下命令:

    Use Master

    Go

    sp_configure 'allow updates', 1

    reconfigure with override

    Go

    begin tran

    update sysdatabases set status = 32768 where name = 'hbfsv8'

    --Verify one row is updated beforecommitting

    commit tran

    MS SQL数据库置疑修复
  5. 停止SQL然后重新启动SQL Server服务,然后运行如下命令:

    DBCC TRACEON(3604)

    DBCC REBUILD_LOG('db_name','C:\ProgramFiles\Microsoft SQLServer\MSSQL\Data\hbfsv8_log.ldf')

    Go

    --注:此处的db_name一定要更换为需要修复的数据库名称,比如此实例中的hbfsv8

    MS SQL数据库置疑修复
  6. 停止SQL然后重新启动SQL Server服务,然后运行:

    use master

    update sysdatabases set status = 8 where name = 'hbfsv8'

    Go

    sp_configure 'allow updates', 0

    reconfigure with override

    Go

    MS SQL数据库置疑修复
  7. 运行dbcc checkdb(hbfsv8)检查数据库的完整性,如果有很多红色文字,说明需要修复。

    MS SQL数据库置疑修复
  8. 修复数库

    *以下语句可以多次执行,一直到没有红色文字出现,则修复成功

    *这类故障是一般是由于磁盘读写问题造成的。

    * 'hbfsv8'代表要修复的数据库

    --请在查询分析器中执行下列语句.执行前断开其它

    所有数据库连接,最好是断开网线

    USE master

    Go

    --单用户模式

    EXECsp_dboption 'hbfsv8', 'single user', 'TRUE'

    go

    --数据库检查

    DBCCCHECKDB ('hbfsv8')

    Go

    --如果返回结果出现了红色的提示文字,说明数据库中存在错误,需要修复

    --数据库修复

    DBCCCHECKDB ('hbfsv8',repair_rebuild)

    Go

    --再次数据库检查,如果返回结果中没有了红色的提示文字,说明修复成功;

    DBCCCHECKDB ('hbfsv8')

    Go

    --否则意味着还需要更高级别的修复;尝试将上面修复语句的'repair_rebuild'换为'repair_allow_data_loss'再试,之后再次检查数据库


    --如果还有错误未修复,



    --退出前请一定要执行以下语句返回到多用户模式

    EXECsp_dboption 'hbfsv8', 'single user','FALSE'

    go

    MS SQL数据库置疑修复
  9. --单用户模式

    EXEC sp_dboption 'hbfsv8', 'single user', 'TRUE'

    go

    MS SQL数据库置疑修复
  10. -数据库检查

    DBCC CHECKDB ('hbfsv8')

    Go

    --如果返回结果出现了红色的提示文字,说明数据库中存在错误,需要修复

    MS SQL数据库置疑修复
  11. --数据库修复

    DBCC CHECKDB ('hbfsv8','repair_rebuild')

    Go

    --多次运行此语句,红色文字不断减少,说明在修复中。

    MS SQL数据库置疑修复
  12. --再次数据库检查,如果返回结果中没有了红色的提示文字,


    说明修复成功;

    DBCC CHECKDB ('hbfsv8')

    Go


    --否则意味着还需要更高级别的修复;尝试将上面修复语句的'repair_rebuild'换为'repair_allow_data_loss'即是(

    DBCC CHECKDB ('hbfsv8','repair_allow_data_loss')

    Go

    )再试,运行后,这样红色文字就没有了,说明修复成功了,之后再次检查数据库。

  13. --退出前请一定要执行以下语句返回到多用户模式

    EXECsp_dboption 'hbfsv8', 'single user','FALSE'

    go


从百度直接复制过来的,如果看不到图片,请直接访问如下地址:

https://jingyan.baidu.com/article/4b52d7027688d7fc5c774b94.html

亲测有效。

TAG:

13083088116王小姐

E-mail:⑤⑥⑥⑥①⑧②@qq.com
QQ1:5666①82  QQ2:917652931
事业二部:合肥市金寨路和紫云路交口紫金公馆S1#写字楼16层
友情链接:车牌识别管理系统 免费IT资产管理软件
合作伙伴:百度 IC卡智能停车场系统 乐刷 小飞侠 立本 红升

Copyright @ 2003-2020 安徽呱呱叫网络科技有限公司(事业二部) 版权所有皖ICP备17022572号

呱呱叫网络科技-国内首家基于物联网技术、AI技术和大数据计算的蹦床馆解决方案
 
QQ在线咨询
13083088116王小姐