使用Struts2+JDBC做的一个web系统,数据库使用的是sql server 2000,客户要求增加一个数据备份、恢复功能,没有头绪,忘高手指教

解决方案 »

  1.   

    直接写个bat文件 把执行的语句sql文件  做window计划任务 每天定时执行bat 不就备份了吗DECLARE @name varchar(50)
    DECLARE @datetime char(14)
    DECLARE @path varchar(255)
    DECLARE @bakfile varchar(255)
    DECLARE @OLDDATE DATETIMEset @name='CRM_DB'
    set @datetime=CONVERT(char(8),getdate(),112) + REPLACE(CONVERT(char(8),getdate(),108),':','')
    set @path='D:\backup'
    set @bakfile=@path+'\'+@datetime+'_'+ @name+'.bak'
    backup database @name to disk=@bakfile with name=@nameSELECT @OLDDATE=(SELECT dateadd(ms,-3,DATEADD(mm,DATEDIFF(m,0,dateadd(month,-1,getdate()))+1, 0)))
    EXECUTE master.dbo.xp_delete_file 0,N'd:\backup',N'bak',@olddate,1go上面是sql文件@echo off
    set path=%path%;C:\Program Files\Microsoft SQL Server\80\Tools\binn
    echo 数据库备份开始 >> d:\backup\backup_user_dbms.txt
    date /t >> d:\backup\backup_user_dbms.txt
    time /t >> d:\backup\backup_user_dbms.txt
    osql.exe -S 192.168.0.132 -U sa -P 1234 -i back.sql
    echo 数据库备份完成 >> d:\backup\backup_user_dbms.txt
    date /t >> d:\backup\backup_user_dbms.txt
    time /t >> d:\backup\backup_user_dbms.txt
    echo .
    echo .
    echo . 数据库备份完成
    echo .
    echo .
    rem pause这个是bat文件在做个window计划任务每天定时执行就 好了  或者用spirng做计划任务也可以
      

  2.   

    购买 Oracle的GolderGate
    简单易用  保证可靠性
    非广告  只是觉得很强大
      

  3.   

    一个是如2楼说的一样,写一个脚本命令,让windows执行定时任务,如果要在程序里面做,可以用java的定时器,spring的定时调度,都比较简单的,原理就是写一个任务定时去执行一段备份数据库的sql就可以!
      

  4.   


    把2楼的写成一个存储过程,然后用java调用也可以的.
      

  5.   

    http://topic.csdn.net/u/20090923/09/3fb45364-a09f-4ea2-8275-e06b2ab5d791.html