zoukankan      html  css  js  c++  java
  • MSSQL2005,2000 恢复单个mdf文件【转】

    我把原来的数据库分离后,直接把日志文件给干掉了。原来在SQL 2000里经常这么干,只用一个mdf就附加了。没想到sql2005居然不行。我试验了一圈 终于找到一个成功的方法。转载,供后来者参考。
    SQL2000 简单一些

    1.创建数据库
    2.覆盖
    3.use master
    go
    sp_configure 'allow updates',1
    go
    reconfigure with override
    go
     
    update sysdatabases set status=-32768 where dbid=DB_ID('test')
     
    dbcc rebuild_log('test','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.ldf')
    dbcc checkdb('test')
    sp_dboption 'test','dbo use only','false'
     
    -----------------------------------------------------------------

    SQL2005 如果mdf不存在任何错误可以使用这个方法:

    CREATEDATABASE TestDB   
    ON   
    (   
    FILENAME 
    ='D:\TestDB.mdf'     
    for ATTACH_REBUILD_LOG


    SQL2005 如何在没有日志文件的情况下如何恢复MDF数据库文件

    第一步:先建立一个同名数据库,停止SQL SERVER2005,将没有日志的的.mdf数据库文件覆盖刚新建的.mdf数据库文件,重新启动数据库。

    第三步:在查询分析器中运行如下代码:

    alter database 数据库名 set emergency —将数据库设置为紧急状态

    use master 

    declare @databasename varchar(255) 

    set @databasename=‘数据库名’ —你的.mdf文件文件名

    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’—将目标数据库置为多用户状态 


    执行出现“数据库其他多个文件与数据库主文件不匹配….”错误,再执行一次即可。

  • 相关阅读:
    开发工具 之 PowerDesigner 应用积累
    PowerDesigner 之 PDM建模
    开发工具 之 PowerDesigner
    LCD 和 LED 的区别?
    图像色彩空间YUV和RGB的差别
    ubuntu使用中的一些问题
    FFMPEG-数据结构解释(AVCodecContext,AVStream,AVFormatContext)
    Winform的多线程问题
    C#子线程更新UI控件的方法总结
    malloc(0)的问题
  • 原文地址:https://www.cnblogs.com/Amaranthus/p/1841552.html
Copyright © 2011-2022 走看看