使用了增量备份后生成了一个文件,请问如何用这个文件还原数据库?如果用完全还原的方法还原数据库的话,整个数据库都坏掉。谢谢。

解决方案 »

  1.   

    你要先还原一个完整的备份,然后在那个基础上再恢复你的增量备份文件。
    开始时用with norecovery还原完整的备份,然后用with recovery恢复你的增量备份文件。
      

  2.   

    代码:
      if odRestore.Execute then
      begin
      st:=FormatDateTime('yyyy-mm-dd hh:nn:ss',now);
      try
      with qryRestore do
      begin
       close;
       sql.Clear;
       sql.add('restore database yktxt from disk =:path WITH NORECOVERY');
       qryRestore.Parameters.ParamByName('path').Value:=odRestore.FileName;
       execsql;
      end;   odRestore.Title:='请选择相应差异备份文件进行恢复';
      if odRestore.Execute then
      begin
      with qryRestore do
      begin
      sql.Clear;
      sql.Add('restore database yktxt from disk =:path WITH RECOVERY');
      qryRestore.Parameters.ParamByName('path').Value:=odRestore.FileName;
      execsql;
      end;odRestore是OpenDialog控件。
      

  3.   

    我知道可以直接用SQL2000实现还原,可是想问的是在Delphi中怎样用代码来实现(已经将数据库增量备份成一个文件),如何用这个文件还原。
    RESTORE DATABASE MyNwind
       FROM MyNwind_1
       WITH NORECOVERY
    GO
    RESTORE DATABASE MyNwind
       FROM MyNwind_1
       WITH FILE = 2,
          RECOVERY
    GO
     试了以上类似代码,可是不知道哪里出错,数据库还是会坏掉,是不是不是用这种办法实现的啊?
    不好意思,我以为在Delphi版发这样的帖子就是用Delphi解决的,没有把问题说清楚明白,真是对不起,请各位再次帮忙,谢谢!^_^
      

  4.   

    咦?那么快就写好代码放上来了,谢谢graduate2005(cool)啦,我改改试试。
      

  5.   

    终于按graduate2005(cool)的方法搞好了,谢谢帮忙!!!