zoukankan      html  css  js  c++  java
  • MS Sql Server无日志数据库恢复办法

      很多情况下,我们在备份数据库的时候只Copy了数据文件(.mdf文件),误删除日志文件或者是数据库日志出现异常。都需要只根据数据文件恢复数据库。
      一、2000下的解决办法:
      1.新建一个同名的数据库
      2.再停掉sql server(注意不要分离数据库)
      3.用原数据库的数据文件覆盖掉这个新建的数据库
      4.再重启sql server
      5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)
      6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用
      数据库的脚本创建一个新的数据库,并将数据导进去就行了.
      USE MASTER
      GO
      SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE
      GO
      UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='要恢复的数据库名称'
      Go
      sp_dboption '要恢复的数据库名称', 'single user', 'true'
      Go
      DBCC CHECKDB('要恢复的数据库名称')
      Go
      update sysdatabases set status =28 where name='要恢复的数据库名称'
      Go
      sp_configure 'allow updates', 0 reconfigure with override
      Go
      sp_dboption '要恢复的数据库名称', 'single user', 'false'
      Go
      
      二、2005下的解决办法:

      1、停止数据库服务。
      2、将需要恢复的数据库文件复制到另外的位置。
      3、启动数据库服务。
      4、确认要恢复的数据库文件已经成功复制到另外的位置,然后在SQL Server Management Studio中删除要恢复的数据库。
      5、新建同名的数据库(数据库文件名也要相同)。
      6、停止数据库服务。
      7、用第2步中备份的.mdf文件覆盖新数据库的同名文件。
      8、启动数据库服务。
      9、运行alter database dbname set emergency,将数据库设置为emergency mode
      10、运行下面的命令就可以恢复数据库:
       use master 
       declare @databasename varchar(255) 
       set @databasename='要恢复的数据库名称' 
       exec sp_dboption @databasename, N'single', N'true' --将目标数据库置为单用户状态 
       dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS)
       dbcc checkdb(@databasename,REPAIR_REBUILD) 
       exec sp_dboption @databasename, N'single', N'false'--将目标数据库置为多用户状态 

  • 相关阅读:
    jvisualm 结合 visualGC 进行jvm监控,并分析垃圾回收
    linux 查看服务器cpu 与内存配置
    arthas 使用总结
    selinux contexts 安全上下文的临时更改
    Android 8.1 Doze模式分析(五) Doze白名单及Debug方式
    Window 任意窗口置顶软件Window TopMost Control
    Android ApkToolPlus一个可视化的跨平台 apk 分析工具
    SVN Please execute the 'Cleanup' command.
    Android 如何在64位安卓系统中使用32位SO库
    Android cmd命令查看apk是32位还是64位?
  • 原文地址:https://www.cnblogs.com/13590/p/841095.html
Copyright © 2011-2022 走看看