SQL2000 现有数据库已经被分离。。已知MDF文件路径及名称。求怎么得到相关联的LDF文件所在路径及名称,还有该数据库的原数据库名。新人分少。给50

解决方案 »

  1.   

    恢复MDF存在LDF不存在的数据库  
    问题原因:
    MDF文件保存完好(已拷出来),LDF已丢失。使用:
    EXEC   sp_attach_single_file_db   @dbname   =   'TyBusiness',  
    @physname   =   'E:\Help\TyBusiness.MDF'
    报如下错误:
    未能打开新数据库   'TyBusiness'。CREATE   DATABASE   将终止。
    设备激活错误。物理文件名  
    'd:\Program   Files\Microsoft   SQL   Server\MSSQL\TyBusiness_log.ldf'   可能有误。解决办法:
    1、先建一个与你要恢复的数据库名称一样的数据库。
    2、停止sql   server,把你的数据库替换这个数据库。
    3、重起sql   server,把数据库设成紧急状态(在查询分析器里面进行):
    sp_configure   'allow',1
    reconfigure   with   override
    update   sysdatabases   set   status=32768   where   name='yourdata'
    4、重建日志文件
    dbcc   rebuild_log('yourdata','your   data   path\newdata_log.ldf')
    5、取消紧急模式
    update   sysdatabases   set   status=0   where   name='yourdata'
    restore   sysdatabases   yourdata   with   recovery
    sp_configure   'allow',0
    reconfigure   with   override
    6、重起sql   server
    7、OK!
      

  2.   

    楼上两位GG看清楚题意,
    呵呵,
    LZ这个问题之前好像问过,
    你最好问问老大看看.
      

  3.   

    只要存在一个历史备份的话:
    --try:
    RESTORE FILELISTONLY
    返回由备份集内包含的数据库和日志文件列表组成的结果集。
      

  4.   


    大哥没懂小弟意思。。我就是想知道这个MDF的原来的数据库名。以及原来的日志。 要是直接附加不就都变了吗
      

  5.   

    只要存在一个历史备份的话: 
    --try: 
    RESTORE FILELISTONLY 
    返回由备份集内包含的数据库和日志文件列表组成的结果集。 
    这个可以
      

  6.   

    和这个帖子是一个问题,
    http://topic.csdn.net/u/20080713/10/5f368acb-105f-41d6-8b23-f432ef4f117e.html?seed=2029168046http://topic.csdn.net/u/20080713/11/b050007e-0d54-4232-ab9b-8e8e573b6b88.html
      

  7.   

    dbcc checkprimaryfile(N'd:\a.mdf',0)
    dbcc checkprimaryfile(N'd:\a.mdf',1)
    dbcc checkprimaryfile(N'd:\a.mdf',2)
    dbcc checkprimaryfile(N'd:\a.mdf',3)
      

  8.   

    补充  0 为验证MDF文件是否存在
        1 可以得到物理地址及逻辑名
        2 可以得到原数据库名
        3 可以得到MDF及LDF状态