现想备份sql数据库其中比较大的数据表(最多的有千万级记录),用单线程常规备份方法会很慢,而且总提示超时!
不知道用delphi备份sql数据表哪种方法效率高?比如:用多线程备份,调用储存过程备份等,还有什么方法好?
请兄弟指点一下。。

解决方案 »

  1.   

    备份那种数据库,看你描述应该是SQLServer,备份的数据太多导致增加了网络流量,网络发生堵塞就会出现连接超时,不是因为你是否使用多线程,建议使用存储过程。因为存储过程在服务器上运行速度肯定会更快超时也不会发生。
      

  2.   

    是备份SQLserver数据库表,但我在服务器上执行的不存在网络问题,每次当备份比较大的数据表是就会提示超时,不知道跟这个设置有关ADOconnection1.CommandTimeout:=300 么?还是和其他什么有关?
      

  3.   

    得看你需要,增量备份可能导致备份文件无法还原,如果你一直对同一个备份文件进行增量备份没有问题,但是可能会每次备份在不同的文件,这时就不能保证其能正确还原,所以建议还是进行覆盖备份(默认是增量备份):
    Backup DataBase 数据库名 To Disk = 'c:\db.dbb' with INIT;
      

  4.   

    是不是用sqlserver吧,用sqlserver的作业来定时备份,让sqlserver自行处理,不需要用delphi来写代码