我在用DELPH6做一个数据备份的页面
1、由于没有相关的经验,请教一般应该备份些什么内容
2、我想将整个数据库内容全备份的话,应该怎么做,我用的是SQL2000,新建了一个数据库。
                    谢谢!

解决方案 »

  1.   

    用query控件,在其中添加代码:restore ...
    关于restore的代码,自己查看一下sql 2000 帮助文档。
      

  2.   

    1 首先你要确定是增量备份还是完全备份
    2 看以前的帖子吧,很多,你可以直接拷贝数据和日志文件,或者用sql的备份恢复命令back/restore或者将数据保存到其他数据库(sql或其他的).....
      

  3.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      S: string;
    begin
      S := '';
      if SelectDirectory('选择备份文件存放目录', '', S) then
      begin
      messagebox(0,'备份需花费一段时间,视计算机配置情况!','提醒',MB_IconInformation+MB_DEFButton1);
            dm.adoquery2.close;
            dm.adoquery2.sql.clear;
            dm.adoquery2.sql.add('backup database dbname to disk='+''''+s+'\'+datetostr(date)+'.bak'+''''+'with init');
            dm.adoquery2.ExecSQL;
            messagebox(0,'备份完毕!','恭喜',MB_IconInformation+MB_DEFButton1);
      end;
    end;
      

  4.   

    用ADOStoredProc连接系统存储过程,备份数据库
      

  5.   

    首先判断备份的设备文件是否存在
    将dsShowDevice连接到数据库的Master数据库
    连接字符串为ConStr(自己做好)
    dsShowDevice.ConnectionString := ConStr;
    dsShowDevice.CommandText := 'select * from sysdevices where name = ''设备文件名''';
    dsShowDevice.Open;
    如果不存在要新建一个设备文件
    否则删除原来存在的设备文件删除过程:
    dpBackup.Close;
    dpBackup.ProcedureName := 'sp_dropdevice';
    dpBackup.Parameters.CreateParameter('@LogicalName',ftString,pdInput,20,'设备文件名称');
    dpBackup.ExecProc;然后建立新的设备文件
    dpBackup.Close;
    dpBackup.ProcedureName := 'sp_addumpdevice ';
    dpBackup.Parameters.CreateParameter('@devType',ftstring,pdInput,20,'disk');
    dpBackup.Parameters.CreateParameter('@LogicalName',ftString,pdInput,20,'设备文件名');
    dpBackup.Parameters.CreateParameter('physicalname',ftString,pdInput,260,备份文件名);
    dpBackup.ExecProc;然后进行备份
    cmdBackup.CommandText := 'backup database TV to 设备文件名';
          cmdBackup.Execute();其中设备文件名是在SqlServer中进行备份操作是的那个名称
    备份文件名是在硬盘上的完整名称
      

  6.   

    补充:
    dpBackup: TADOStoredProc;
    cmdBackup: TADOCommand;
    dsShowDevice: TADODataSet;
      

  7.   

    1、请教SelectDirectory、MB_IconInformation、MB_DEFButton1、'with init'各是什么作用,我用 “Forwardrun(朝前走)”的方法引用,报错"[Error] fperson.pas(45): Undeclared identifier: 'SelectDirectory'",加了一句uses FileCtrl;可以编译通过但提示[Warning] fperson.pas(35): Unit 'FileCtrl' is specific to a platform,这是怎么回事,能消除么?
    2、生成"2003-6-27.bak"的文件,双击是用记事本打开,里面是乱码,不明白这样备份是否有用,如何将bak文件还原成数据库?