Einzelnen Beitrag anzeigen

Pro_RJ

Registriert seit: 16. Apr 2008
146 Beiträge
 
#1

FIrebird Problem beim Backup/Restore FB_Sort

  Alt 16. Jan 2009, 10:49
Datenbank: Firebird • Version: 2.0 • Zugriff über: Delphi
Hallo,

Ich habe ein kleines Problem mit dem Firebird 2.0 Server beim Backup/Restore.
beim Restore einer Datenbank habe ich gleich am angfang des Restores die Fehlermeldung:

Zitat:
I/O error for file "c:\Temp\fb_sort_irrtvi"
Error while trying to write to file
Der Drucker hat kein Papier mehr.
Bekommen.


Die Programmiereing vom Restore sieht Folgendermaßen aus(Kleiner Auszug) :
Ich nutze hierfür die StandardKomponenten aus em BDS 2006 (TIBBackupeService/TIBRestoreService)
Delphi-Quellcode:
    
    Restore_Ser : TIBRestoreService;
    with Restore_Ser do
    Begin
      Protocol := ProtocolGes1;
      ServerName := ServName;
      LoginPrompt := False;
      Options := [Replace,CreateNewDB,UseAllSpace];
      Active := True;
      Verbose := True;


      DatabaseName.Clear;
      DatabaseName.Add(DBFile);

      BackupFile1 := Copy(DBFile,1,Length(DBFile) -4);
      BackupFile1 := BackupFile1 + '_Backup.gbk';
      DateiN := WinUnixPfad(DBFile);
      DateiN := Copy(DateiN,1,Length(DateiN) -4);
      DateiN := '_' + DateToStr(NOW) + '_' +TimeToStr(Now);

      BackupFile.Clear;
      BackupFile.Add(BackupFile1);
      if Memo1 <> nil then Memo1.lines.Clear;
      Start := NOW;
      if Memo1 <> nil then Memo1.Lines.Add(FormatDateTime('dd.mm.yyyy - hh:nn:sss',Start) + ' : Restore Start');
      try
        ServiceStart; // <--------------- Hier kam die FehlerMeldung (I/O error for file "c:\Temp\fb_sort_irrtvi"....)
        ok := True;
      except
        on E:exception do
        Begin
          Showmessage(e.Message);
          FehlerProtokollSchreiben(14,[e.Message],[],[]); // Fehler beim Restore
          ok := False;
        end;
      end;
      if ok = true then
      begin
        Try
          While not Eof do
          Begin
            if Fo <> nil then Fo.BringtoFront;
            INC(i);
            if Memo1 <> nil then Memo1.Lines.Add(FormatDateTime('dd.mm.yyyy - hh:nn:sss',NOW) + ' ' + AuffuellenAufN(X(i),4)+': '+GetNextLine);
            Application.ProcessMessages;
          end;
          ok := True;
        except
          on E:exception do
          Begin
            Showmessage(e.Message);
            ShowMessage(600400347);//'ACHTUNG Fehler beim Restore - ' + #13#10 + 'Letzte Datensicherung zurückspielen'
          end;
        end;
      end;
    end;


Die Frage ist :
- was sind die "FB_Sort" Dateien?
- was machen die?
- was hat die FehlerMeldung "Der Drucker hat kein Papier mehr." für eine Bedeutung da zu diesem Zeitpunk überhauptnichts gedruckt werden soll/wurde?

Es ist aber sichergestellt, das zu der Datenbank keine Verbindung mehr offen war.
Was ich auch nicht wirklich verstehe, ist, dass dieses "FB_Sort" Dateien nicht bei jedem Backup-Restore angelegt werden.

ich hoffe ich konnte mein Problem einigermaßen darstellen.
Danke schonmal im vorraus
mfg Pro_RJ/Jens


Edit : Im aktuellen Test ist diese FB_Sort erst aufgetaucht, nachdem das Backup schon 4 GB groß geworden ist(von etwar geplanten 30 GB -31 GB).
Edit2 : Diese Datei wird ca alle 4 gb erstellt und "verschwindet" dann wieder
  Mit Zitat antworten Zitat