Autobackup sybase DataBase(操作系统at指令+批处理文件+SQL文件+存储过程)
Author:chinanetboy QQ:44633197
Blog: http://blog.csdn.net/chinayaosir
此方式可以自动备份mssql,mysql,Sybase,oracle…sql文件和存储过程有点差别而己!
******************************************************************************
1.windows操作系统at指令
C:/>at /?
AT 指令排定某些指令或程序在某个特定的日期和时间,在计算机上执行
执行 AT 指令之前必须先启动 Schedule 服务。
AT [//computername] time [/INTERACTIVE] [ /EVERY:date[,...] | /NEXT:date[,...]] "command"
//computername 指定远程计算机。如果省略这个参数,指令会被排定在本机上执行
id 指定给排定时程指令的识别码。
/delete 删除某个已排程的指令。如果省略 id,所有计算机指令都会被删除。
/yes 用于删除所有已排程的工作,且不想在执行删除使用。
time 指定指令执行的时间。
/interactive 允许工作在执行时,与当时登入的用户互动。
/every:date[,...] 指定在每周或每月的某日 (或某几日) 执行指令,如果省略日期,则预设为在每月的本日执行。
/next:date[,...] 指定在下一次的指定日期 (如,下周三) 时,执行,如果省略日期,则预设为在每月的本日执行。
"command" 准备执行的 Windows NT 指令或批处理。
在执行此程序要确保windows的服务schedule是start,
在cmd下面添加运行计划的代码
at 2:00 /every:M,T,W,Th,F,S,Su cmd /c g:/Auto backup/script/autobackup.bat
表示在从星期一到六每天早上2:00开始运行autobackup.bat批处理程序
取消运行计划指令如下
at /delete /yes
******************************************************************************
2.批处理文件autobackup.bat内容如下
Isql格式:isql –Uusename –Ppassword –Sdatabase < sql脚本文件
代码如下:
isql -Usa –Pbab1254 -SBABDB2 < g:/Auto backup/script/autobackup.spt
******************************************************************************
3. 数据库脚本文件autobackup.spt
use BABDB2
go
exec autobackup
go
/*
use BABDB2 =打开数据库
exec autobackup=运行存储过程autobackup
*/
******************************************************************************
4.存储过程代码autobackup
CREATE PROCEDURE dbo.autobackup
AS
DECLARE @filename char(255)
DECLARE @tempchar1 char(255)
DECLARE @tempchar2 char(1)
DECLARE @tempchar3 char(14)
BEGIN
SELECT @tempchar1=value
FROM emg_systemtable
WHERE parameter="backup_path"
SELECT @tempchar2=value
FROM emg_systemtable
WHERE parameter="district"
SELECT @tempchar3=
datename(year,getdate())+"_"
+ltrim(str(datepart(month,getdate()),2,0))+"_"
+ltrim(str(datepart(day,getdate()),2,0))+".dat"
SELECT @filename=rtrim(@tempchar1)+rtrim(@tempchar2)+@tempchar3
DUMP DATABASE BABDB2 TO @filename
END
******************************************************************************
5.这样设置后,winnt4.0/2000/2003服务器就会每天半夜2:00自动备份数据库sybase
到指定的目录中,按规则生成备份数据库文件