zoukankan      html  css  js  c++  java
  • Sql Server 附加没有日志文件的数据库(.mdf)文件方法

    附加数据库,附加的时候会提醒找不到log文件

    image_6.png
    image_thumb_3.png
    针对以上现象有两个写法的语句能解决:
    写法一:
    USE MASTER;
    EXEC sp_detach_db @dbname = 'TestDB';
    EXEC sp_attach_single_file_db @dbname = 'TestDB',
         @physname = 
         'D:Program FilesMicrosoft SQL ServerMSSQL10_50.SQL2008MSSQLDATATestDB.mdf'  
     
    写法二:
    CREATE DATABASE TestDB  
    ON 
    (
        FILENAME =
        'D:Program FilesMicrosoft SQL ServerMSSQL10_50.SQL2008MSSQLDATATestDB.mdf' --输入.mdf的文件所在目录
    ) FOR ATTACH_REBUILD_LOG
     
    写法三:
    CREATE DATABASE TestDb ON
    ( FILENAME = N'D:Program FilesMicrosoft SQL ServerMSSQL10_50.SQL2008MSSQLDATATestDB.mdf')
    FOR ATTACH
    GO
    在查询窗口执行,可能会输出如下提示:
    文件激活失败。物理文件名称'D:Program FilesMicrosoft SQL ServerMSSQL10_50.SQL2008MSSQLDATATestDB.ldf'可能不正确。
    新的日志文件 'D:Program FilesMicrosoft SQL ServerMSSQL10_50.SQL2008MSSQLDATATestDB_log.LDF' 已创建。
     
    我的理解是可能是原先日志文件名可能与系统命名规则不匹配,但此时刷新下数据库就能看到已附加了数据库文件
     
    分离数据库:
    exec sp_detach_db @dbname='数据库名';
  • 相关阅读:
    leveldb实现类sql查询
    系统设计
    Code Complete
    工具 VSCode快捷键
    C/C++ extern
    C/C++ 宏字符串拼接
    【Java】字符串
    【Java】常用类-sysytem-math
    【Java】枚举
    【Java】内部类
  • 原文地址:https://www.cnblogs.com/shy1766IT/p/4850673.html
Copyright © 2011-2022 走看看