请问:怎样通过Delphi6来备份和还原SQL Server的数据库。
   例:
     (1)把silk数据库备份到E:\123.bak
     (2)把E:\456.bak还原到silk.bak

解决方案 »

  1.   

    ADOConnection1.Execute('Backup DataBase silk to Disk = "E:\123.bak"');
    ADOConnection1.Execute('Restore DataBase silk from Disk = "E:\123.bak"');
      

  2.   

    with adoquery do
    begin
    close;
    sql.text:='BACKUP DATABASE kilk TO DISK e:\123.bak';
    execsql;
    end;
      

  3.   

    with adoquery do
    begin
    close;
    sql.text:='BACKUP DATABASE kilk TO DISK ='''+'e:\123.bak''';
    execsql;
    end;with adoquery do
    begin
    close;
    sql.text:='RESTORE DATABASE kilk from DISK ='''+'e:\123.bak''';
    execsql;
    end;
      

  4.   

    with adoquery do
    begin
    close;
    sql.text:='backup database kilk to disk=''c:\kilk.bak'' with init';
    execsql;
    end;with adoquery do
    begin
    close;
    sql.text:='restore database kilk from disk=''c:\kilk.bak'' with replace';
    execsql;
    end;
      

  5.   

    我做的一个备份、恢复、删除的一个过程。procedure TForm5.BitBtn1Click(Sender: TObject);
    begin
    if  ADOConnection1.Connected then ADOConnection1.Close;
    ADOConnection1.ConnectionString:='Provider=MSDASQL.1;Persist Security Info=False;Extended Properties="DRIVER=SQL Server;SERVER='+edit1.Text+';UID='+edit2.text+';PWD='+edit3.Text +';DATABASE=master"';
    try
    ADOConnection1.Open;
    except
    showmessage('连接失败!');
    exit;
    end;
    showmessage('连接成功!');if RadioButton1.Checked then
       begin
           try
              form2.ADOConnection1.Execute ('backup database supervise to 
               disk= ''' +Label1.Caption+'\supervise.bak'+''' with init');
           except
              showmessage('备份数据库失败!');
              exit;
           end;
       showmessage('备份成功!');
       end;
    if RadioButton2.Checked then
       begin
           if label2.caption='' then
              begin
                  showmessage('请选择要恢复的文件!') ;
                  exit;
              end;
           if MessageDlg('你要恢复数据库吗?', mtwarning,[mbyes,mbno],1)=mryes then
           if MessageDlg('数据将恢复到备份时的状态,最新的变动可能会丢失!你确信要恢复吗?', mtwarning,[mbyes,mbno],1)=mryes then
           try
              form2.ADOConnection1.Execute ('restore database supervise from disk= ''' +Label2.Caption +''' with replace');
              showmessage('恢复数据库成功!');
           except
              showmessage('恢复数据库失败!');
              exit;
           end;   end;
    if RadioButton3.Checked then
       begin
          if MessageDlg('你要删除数据库吗?', mtwarning,[mbyes,mbno],1)=mryes then
          if MessageDlg('督查信息系统的所有数据将丢失,您确信要删除吗?', mtwarning,[mbyes,mbno],1)=mryes then
             try
                form2.ADOConnection1.Execute ('drop DATABASE supervise');
                showmessage('删除数据库成功!');
             except
                showmessage('删除数据库失败!');
                exit;
             end;   end;
    end;