如何通过程序让Sql Server2000的数据库实现定时自动备份? -- by 萧月禾(300分)

  • 主题发起人 主题发起人 萧月禾
  • 开始时间 开始时间

萧月禾

Unregistered / Unconfirmed
GUEST, unregistred user!
Sql Server2000提供了设置数据库自动备份的功能。
如设数据库TestDB在每天的12点进行一次完全备份或差异备份等

如果是直接在Sql Server中设还可以
但我希望能通过程序来设置

比如在程序中设某数据库在每天某个时刻自动备份一次
这程序该如何写?

查过以前的帖子没有头绪,还请各位朋友指点一二!
 
通过sql server的任务管理可以实现!
 
用ADO
sSQL:='Backup Database '+DataBaseName
sSQL:=sSQL+' TO DISK='+SavePathName;
cnComm.CommandText := sSQL;
cnComm.Execute;

sSQL:='Restore Database '+DataBaseName;
sSQL:=sSQL+' from DISK='+SavePathName;
cnComm.CommandText := sSQL;
cnComm.Execute;
 
唉,要这么简单我就不用来问了[:(]
我是要设其定时自动备份呀,而且是通过程序设定
 
作业是由 SQL Server 代理程序按顺序执行的一系列指定的操作。作业可以执行更广泛的活
动,包括运行 Transact-SQL 脚本、命令行应用程序和 Microsoft ActiveX 脚本。可以
创建作业来执行经常重复和可调度的任务,并且作业可产生警报以通知用户作业的状态。

使用Transact-SQL创建作业
1、执行 sp_add_job 创建作业。
2、执行 sp_add_jobstep 创建一个或多个作业步骤。
3、执行 sp_add_jobschedule 创建作业调度。

也可以使用ActiveX 脚本文创建作业 ,ActiveX 脚本命令也可以在外部编译好(例如使
用 Visual Basic),然后作为 CmdExec 可执行文件运行。

以上都可以在程序中执行,从而建立根据需要建立各种作业任务.
 
你說是有道理;
但是與上面的問題就不知道你在說什麼了,SORRY,我水平低,只能這樣說了;
 
还要看Sql Server的管理器是否支持程序方式来控制
其实这些东西也不一定非要集成到你的程序里面吧
教会用户使用“企业管理器”不就什么都完了? 再说,这个只是某一两个系统管理员学会
就OK的了。 没必要专门为这一两个人写进程序里面吧?

大概看了一下,没看到有资料说支持程序的方式来控制它
可能有吧,但我没发现。
 
天,难道没有人做过这个吗?

>>教会用户使用“企业管理器”不就什么都完了?
那用户一定要做到程序里,觉得自己花了钱做的东西就应该什么都能干
他巴不得那程序可以发射火箭呢
 
可以看一下相关的API
我去找找
 
好久没有上来了,还是在 QQ 上说吧!
 
明明知道我数据库菜鸟一个,还问我[:D]

 
就是,明明知道我是个高高手,还问我!
用个TIMER事件贝,每小时GET时间一次,一看是晚上12点了就开始自动备份贝
 
up


用windows的 计划任务 ,以前我这么干过
 
我不了解sql server ,帮你up吧
 
嘿嘿,好办,其实SQL Server提供了一个很好的工具“SQL事件探察器”提到这个大概你就应该有思路了吧?
没错,就是用它跟踪出,看你在SQL Server管理器里面建立定时备份都是执行了那些东西。
然后将所有执行的东西另存为SQL语句,分析一下,里面就有你需要的所有的东西。
刚才我试验了一下,因为PlanID冲突导致SQL语句没有重新建立
SELECT @PlanID = '8ED4BFB0-181F-41DD-8110-5197ACD6F3AA'
替换一下,然后再适度的修改一下那些乱七八糟的SQL就行了。

其实,解决问题的办法,就是充分利用“SQL事件探察器”和“SQL Server企业管理器”,你这两个用好了,那么使用程序实现就好办多了。

以上仅仅是思路,具体实现当然还需要费一番功夫。慢慢试验一下吧。
 
我也想用程序来控制一个SQL Server
我想这是可行的,因为“SQL Server企业管理器”就是用这个来控制的,
只是不知如何来作好。
 
用windows计划任务做,我也看过人家这样处理的,具体我不就知了。
 
一个笨方法,另写一个程序在服务器端定时执行T-SQL
如果你的程序是B/S的话,加这个功能是很简单的
如果是C/S就加这一个功能说是B/S,再赚一笔^_^

 
同意lsj的办法,在服务器上装个小程序,用ADO控件来定时执行备份操作!
 
后退
顶部