delphi 备份SQL2000我之前的软件备份都好好的,怎么最近备份老是失败啊数据库也才860M啊

解决方案 »

  1.   

    還原、備份
    procedure Tsys_datamodule.DataBaseBack;
    var
      FileName:string;
      ADOQ:TADOQuery;
    begin
      ADOQ:=TADOQuery.Create(nil);
      ADOQ.Connection:=sys_datamodule.con1;
      if MessageDlg('你確定要備份數據庫嗎?',mtInformation,[mbYes,mbNo],0)=idyes then
      begin
        try
          if SaveDialog1.Execute then
          begin
            FileName:=SaveDialog1.FileName;
            if (Copy(FileName,Length(FileName)-3,4)<>'.BAK') or (Copy(FileName,Length(FileName)-3,4)<>'.bak') then
              FileName:=FileName+'.BAK';
            ADOQ.SQL.Text:='Use Master Backup Database MES to Disk='''+ FileName+''' Use MES';
            ADOQ.ExecSQL;
            MessageDlg('數據庫備份成功!',mtInformation,[mbOK],0);
          end;
        except
          MessageDlg('數據庫備份失敗!',mtInformation,[mbOK],0);
          Exit;
        end;
      end;
    end;procedure Tsys_datamodule.RestoreBaseBack;
    var
      StrFile:string;
      ADOQ:TADOQuery;
    begin
      ADOQ:=TADOQuery.Create(nil);
      ADOQ.Connection:=sys_datamodule.con1;
      if MessageDlg('你確定要還原數據庫嗎?',mtInformation,[mbYes,mbNo],0)=idyes then
      begin
        try
          if OpenDialog1.Execute then
          begin
            StrFile:=OpenDialog1.FileName;
            ADOQ.SQL.Text:='Use Master Restore Database MES From Disk='''+ StrFile+''' Use MES';
            ADOQ.ExecSQL;
            MessageDlg('數據庫還原成功!',mtInformation,[mbOK],0);
          end;
        except
          MessageDlg('數據庫還原失敗!',mtInformation,[mbOK],0);
          Exit;
        end;
      end;
    end;
      

  2.   

    备份你可以这样写:
          'dump database '+DataBaseName+' to disk='''+FileName+''' with init'
      

  3.   

    恢复时须先断开要恢复的数据库的联接,而后联接MASTER,
    'load database '+DataBaseName+' from disk='''+FileName+''''
      

  4.   

    'backup database  ' +backDB+ '  to disk='+''''+dir+''''我是这样子写的,之前备份正常,就最近有时候可以备份,有时候不可以
      

  5.   

    我刚做完,嘿嘿,
      if SaveDialog1.Execute then
       begin
        qry1.Close;
        qry1.SQL.Clear ;
        qry1.SQL.Add('Backup database '+sDb+' ') ;
        qry1.SQL.Add('to disk='''+SaveDialog1.FileName+''''+' with init');
        try
          qry1.ExecSQL;
          showmessage('备份成功');
        except
          showmessage('备份失败');
        end;
    end;调试过的,
      

  6.   

    超时了。因为你之前数据库小,在你设定的时间内可以完成。。你将adoconnection的timeout设为0