zoukankan      html  css  js  c++  java
  • 恢复数据库2000质疑

    --前提是硬盘没问题.如果硬盘本来就有问题.次方法可能无效
    --1.停止sql 服务,获取数据库路径,删掉日志文件 
    use master 
    go
    select name,reverse(substring(reverse(filename),charindex('',reverse(filename)),1000))  from sysdatabases 
    
    
    --2.启动sql 服务
    use master
    go
    sp_configure 'allow update',1 
    
    reconfigure with override
    go
    update sysdatabases set status = 32768 where name = 'testdb'
    go
    
    --重建数据库日志文件
    dbcc rebuild_log('hydee','F:	estdbdata	estdb_log.ldf')  --最好在原路径上面吧.文件夹一点要原来就存在,不然会提示错误.
    
    go
    
    use master
    
    update sysdatabases set status = 8 where name = 'testdb'
    
    Go
    
    
    sp_configure'allow updates',0
    
    reconfigure with override
    
    Go
    --这个时候.数据库应该已经不是置疑的.并且可以使用了.只是有部分损坏
    
    --3.修复数据库
    use master 
    declare @databasename varchar(255) 
    set @databasename='testdb' 
    exec sp_dboption @databasename, N'single', N'true' 
    dbcc checkdb(@databasename,REPAIR_REBUILD) 
    dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS) 
    exec sp_dboption @databasename, N'single', N'false'
    
    --最后修复完.再dbcc checkdb一次呗,暂时还没试过不行的.
    --这样可以省去重新改传输序号.而且有些店还没有备份的.
    -------------------------------------------------------------
    
    
    --exec p_dboptimize 重建索引
    exec sp_dboption 'testdb','single user',true    --设置单用户模式
    --dbcc checktable ('usertable',repair_allow_data_loss)  --修复表允许丢失,谨慎使用
    dbcc checktable ('usertable',REPAIR_REBUILD)  --修复表
    dbcc dbreindex(u_ware_ext)         --重建所有索引
    exec sp_dboption 'testdb','single user',false --关闭单用户
    dbcc checkdb    --检查修复数据库
  • 相关阅读:
    NEERC 15 (10/12)
    uoj259 & 独立集问题的一些做法
    Berlekamp-Massey算法简单介绍
    树链剖分的一种用法
    长链剖分
    [黑科技]常数优化的一些技巧
    tarjan解决路径询问问题
    Comet OJ
    洛谷P3835 【模板】可持久化平衡树(FHQ Treap)
    LOJ#107. 维护全序集(FHQ Treap)
  • 原文地址:https://www.cnblogs.com/binghou/p/9097444.html
Copyright © 2011-2022 走看看