Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#1

Vollbackup einer SQL Server Datenbank erstellen

  Alt 15. Dez 2009, 13:30
Der folgende Code erzeugt ein Vollbackup einer MS SQL Server 2000/2005/2008 Datenbank.
Man benötigt dazu eine aktive ADO-Connection zur Datenbank.
Die Zieldatei kann nur auf einer lokalen Festplatte des Servers liegen.
Der angemeldete Datenbankbenutzer muss die Serverrolle "diskadmin" haben, damit er Backups erstellen darf.
Delphi-Quellcode:
procedure BackupSQLServerDB(const con:TADOConnection);
var
   DB : string;
   filename:string;
   ci : IUnknown;
   SQL : string;
begin
   DB := con.Properties.Item['Initial Catalog'].Value;

   filename := Format('C:\%s_%s.BAK', [DB, FormatDateTime('d_mmm_yyyy', Date)]);

   if InputQuery('Dateiname der Backup Datei', 'Dateiname (nur lokale Serverplatten)', filename) then
   begin
      ci := DisplayCursor(crSQLWait);
      SQL := 'BACKUP DATABASE '+DB+' TO DISK = '+QuotedStr(filename)+
      ' WITH INIT,SKIP';

      con.CommandTimeout := 60 * 8; // = 8 Minuten
      con.Execute(SQL);
   end;
end;
Andreas
  Mit Zitat antworten Zitat