• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    硬盘基地手机版
  • 关注官方公众号
    微信扫一扫关注
    硬盘基地公众号
  • [分享] 数据库置疑修复培训教程

    [复制链接]
    gotaoneyou 发表于 2014-12-23 11:18:37 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
    数据库置疑及修复
            数据库置疑处理
    提要:在数据库置疑或者修复的处理过程中,须先将文中的数据库更改为真实的数据库名称.
    数据库置疑修复处理完成后,需执行第二步骤,使用DBCC语句对数据库进行检测并修复错误.
        对于损坏的数据库,可参照数据库修复处理方法进行处理.
    步骤1:

    停止SQL服务管理器,将原数据文件拷贝出来进行备份,然后将原数据库删除,使用思迅数据库安装程序创建一个新的数据库。

    步骤2:

    停止SQL Server 服务管理器

    步骤3:

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

    步骤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 before committing

    commit tran

    步骤5:

    停止SQL然后重新启动SQL Server服务,然后运行如下命令:




    DBCC TRACEON(3604)

    DBCC REBUILD_LOG('db_name','C:\ProgramFiles\Microsoft SQL Server\MSSQL\Data\hbfsv8_log.ldf')
    Go
    --注:此处的db_name一定要更换为需要修复的数据库名称,比如此实例中的hbfsv8


    步骤6:

    停止SQL然后重新启动SQL Server服务,然后运行:

    use master

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

    Go

    sp_configure 'allow updates', 0

    reconfigure with override

    Go

    步骤7:

    运行dbcc checkdb(hbfsv8) 检查数据库的完整性



            数据库修复
    /*****************************************************************
    * 本语句可以多次执行,一直到没有红色文字出现,则修复成功
    * 这类故障是一般是由于磁盘读写问题造成的。
    * 'hbfsv8'代表要修复的数据库
    * 下面的语句是修复总部数据库的SQL,如需要修复分部的数据库,请将 'hbfsv8' 改为 'hbfsv8_branch'
    ******************************************************************/
    --请在查询分析器中执行下列语句.执行前断开其它所有数据库连接,最好是断开网线

    USE master
    Go
    --单用户模式
    EXEC sp_dboption 'hbfsv8', 'single user', 'TRUE'
    go
    --数据库检查
    DBCC CHECKDB ('hbfsv8')
    Go
    --如果返回结果出现了红色的提示文字,说明数据库中存在错误,需要修复
    --数据库修复
    DBCC CHECKDB ('hbfsv8',repair_rebuild)
    Go
    --再次数据库检查,如果返回结果中没有了红色的提示文字,说明修复成功;
    DBCC CHECKDB ('hbfsv8')
    Go
    --否则意味着还需要更高级别的修复;尝试将上面修复语句的'repair_rebuild'换为'repair_allow_data_loss'再试,之后再次检查数据库。
    --如果还有错误未修复,


    --退出前请一定要执行以下语句返回到多用户模式
    EXEC sp_dboption 'hbfsv8', 'single user','FALSE'
    go

    精彩评论8

    dare 发表于 2017-10-1 21:04:48 | 显示全部楼层
    这种只适用于系统表没有损坏的数据库,如果系统表损坏这个都不管用。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    关注0

    粉丝2

    帖子2

    发布主题
    阅读排行 更多
    广告位

    扫描微信二维码

    查看手机版网站

    随时了解更新最新资讯

    .

    在线客服(服务时间 9:00~18:00)

    在线QQ客服
    .
    Email:9443120@qq.com
    移动电话:13011628855

    Powered by Intohard X1.0© 2001-2013 Inhdd Inc.( 鲁ICP备09029790号 )