mssqlserver 2008 r2 附加数据库对于服务器失败 处理数据库日志文件时出错

问题:
	使用mssqlserver 2008 r2 附加数据库对于服务器失败 处理数据库日志文件时出错。
解决方案:
方法一、
先把原库文件备份一份,然后
在其它机器上直接附加数据库,不要日志文件!

方法二、   
  1.设置数据库为紧急模式   
                Use   Master   
                GO   
                sp_configure   'allow   updates',   1   
                reconfigure   with   override   
              GO   
              UPDATE   sysdatabases   SET   status   =   32768   where   name   =   'DB_SUSPECT'   
              GO   
    
  2.停掉SQL   Server服务:   
            NET   STOP   MSSQLSERVER   
    
  3.把原始数据库的数据文件DBNAME_DAT.MDF,DBNAME_LOG.LDF移走:   
    
  4.启动SQL   Server服务:   
              NET   START   MSSQLSERVER   
    
  5.重新建立一个同名的数据库DB_SUSPECT;   
    
                USE   master   
                GO   
                CREATE   DATABASE   DB_SUSPECT   
                  ON     
                    (   NAME   =   DBNAME_DAT,   
                        FILENAME   =   'C:',   
                        SIZE   =   10,   
                          FILEGROWTH   =   5   )   
                        LOG   ON   
                      (   NAME   =   'DBNAME_LOG',   
                        FILENAME   =   'g:',   
                        SIZE   =   5MB,   
                        FILEGROWTH   =   5MB   )   
                        GO   
    
    
  6.设置数据库运行在单用户的模式:   
                    USE   MASTER   
                  GO   
                  ALTER   DATABASE   DB_SUSPECT   SET   SINGLE_USER   
                  GO   
    
  7.停掉SQL服务:   
            NET   STOP   MSSQLSERVER   
    
  8.把原来的数据文件再覆盖回来:   
    
    
  9.启动SQL   Server服务:   
              NET   START   MSSQLSERVER   
    
  10.重新设置SQLSERVER的状态:   
                    USE   MASTER   
                  GO   
                  EXEC   sp_resetstatus   "DB_SUSPECT"   
    
  11.数据库完整性检测:   
                  DBCC   CHECKDB('DB_SUSPECT')   
    
  12.恢复数据库为多用户模式:   
                  USE   MASTER   
                  GO   
                  ALTER   DATABASE   DB_SUSPECT   SET   MULTI_USER   
                GO   
    
  13.恢复SQLSERVER原始的配置:   
              USE   MATER   
    
          GO               
    
          UPDATE   sysdatabases   SET   status   =   4194320   where   name   =   'DB_SUSPECT'   
          GO   
    
  14.配置SQLSERVER不允许更新系统表:   
              USE   MASTER   
            GO   
              sp_configure   'allow   updates',   0   
              reconfigure   with   override   
            GO   
    
  15.重新启动MSSQLSERVER服务:   
    
            最好重新启动操作系统   
    
  16.备份数据库:   
    
        可以通过SQLSERVER企业管理器或T-SQL.需要备份MASTER和DB_SUSPECT
解决方案:
先把原库文件备份一份,然后
在其它机器上直接附加数据库,不要日志文件!试试!如果不行再按以下方法试试!


在其他机器上,用这个试试:   
  1.设置数据库为紧急模式   
                Use   Master   
                GO   
                sp_configure   'allow   updates',   1   
                reconfigure   with   override   
              GO   
              UPDATE   sysdatabases   SET   status   =   32768   where   name   =   'DB_SUSPECT'   
              GO   
    
  2.停掉SQL   Server服务:   
            NET   STOP   MSSQLSERVER   
    
  3.把原始数据库的数据文件DBNAME_DAT.MDF,DBNAME_LOG.LDF移走:   
    
  4.启动SQL   Server服务:   
              NET   START   MSSQLSERVER   
    
  5.重新建立一个同名的数据库DB_SUSPECT;   
    
                USE   master   
                GO   
                CREATE   DATABASE   DB_SUSPECT   
                  ON     
                    (   NAME   =   DBNAME_DAT,   
                        FILENAME   =   'C:',   
                        SIZE   =   10,   
                          FILEGROWTH   =   5   )   
                        LOG   ON   
                      (   NAME   =   'DBNAME_LOG',   
                        FILENAME   =   'g:',   
                        SIZE   =   5MB,   
                        FILEGROWTH   =   5MB   )   
                        GO   
    
    
  6.设置数据库运行在单用户的模式:   
                    USE   MASTER   
                  GO   
                  ALTER   DATABASE   DB_SUSPECT   SET   SINGLE_USER   
                  GO   
    
  7.停掉SQL服务:   
            NET   STOP   MSSQLSERVER   
    
  8.把原来的数据文件再覆盖回来:   
    
    
  9.启动SQL   Server服务:   
              NET   START   MSSQLSERVER   
    
  10.重新设置SQLSERVER的状态:   
                    USE   MASTER   
                  GO   
                  EXEC   sp_resetstatus   "DB_SUSPECT"   
    
  11.数据库完整性检测:   
                  DBCC   CHECKDB('DB_SUSPECT')   
    
  12.恢复数据库为多用户模式:   
                  USE   MASTER   
                  GO   
                  ALTER   DATABASE   DB_SUSPECT   SET   MULTI_USER   
                GO   
    
  13.恢复SQLSERVER原始的配置:   
              USE   MATER   
    
          GO               
    
          UPDATE   sysdatabases   SET   status   =   4194320   where   name   =   'DB_SUSPECT'   
          GO   
    
  14.配置SQLSERVER不允许更新系统表:   
              USE   MASTER   
            GO   
              sp_configure   'allow   updates',   0   
              reconfigure   with   override   
            GO   
    
  15.重新启动MSSQLSERVER服务:   
    
            最好重新启动操作系统   
    
  16.备份数据库:   
    
        可以通过SQLSERVER企业管理器或T-SQL.需要备份MASTER和DB_SUSPECT
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值