关于sql server 2000的备份问题 ( 积分: 100 )

  • 主题发起人 主题发起人 lcypipi
  • 开始时间 开始时间
L

lcypipi

Unregistered / Unconfirmed
GUEST, unregistred user!
由于数据库资料非常重要,希望能够在delphi程序启用后,每隔三分钟或五分钟备份一次(完全备份),请大侠们赐教。急!用delphi程序实现
 
由于数据库资料非常重要,希望能够在delphi程序启用后,每隔三分钟或五分钟备份一次(完全备份),请大侠们赐教。急!用delphi程序实现
 
放个Timer,每隔三五分钟执行一下备份语句不就OK了?
 
这是一个方法,可是当数据库是500M以上的时候,你的速度能做到不影响此程序的继续使用吗?也就是说在不知不觉中备份,此程序的其它功能还要能够顺利的运行.
 
500M的数据库那么短时间还不影响其他程序!!我也很想知道。期待答案。
 
500M,你3、5分钟备份一次,一小时最小就6G啊,你有多大的硬盘啊
 
我会定时删除或覆盖的,这个是没有问题的
 
sql server企业管理器里面就可以设置,可是我想把它写成程序.我看到很多人的程序都有这样做过.期待大侠们帮忙一下.
 
那你就写到线程里吧,不会影响主程序的使用 ,tthread
 
哇噻,这样子,机器还是很猛的,3分钟拷一次,我的烂机器是不能测试这样的程序的。
 
可以写SQL语句
backup database yourDatabase to disk='c:/1.bak'
但三分钟一次…………
顺便问下各位达人
偶嘀恢复使用restore database yourDatabase from disk='c:/1.bak'执行不起来
说是数据库被占用
偶知道打开的时候是不能恢复的
已经关闭了delphi和SQL Server企业管理器
并且restore的ADOQuery连接使用了不同的ADOConnection连接到master数据库,并调用连接到yourDatabase的ADOConnection.close防止yourDatabase被占用,但运行时还是不可以[:(]
 
三分钟一次…………

在delphi里面,500M,3分钟~~~~~~~~~~~~~~~~~~

你先这样试试:sql服务器上 建一个作业,3分钟执行一个备份。然后前台运行你的程序
,看看能不能“不影响此程序的继续使用”

如果可以的话,继续

如果不可以的话 .......
 
贝贝11:你的答案是对的。在SQL SERVER建一个作业来备份是可以的。可是我要用程序来做备份,因为我可以做,但不可能我去帮每个用户做。
 
??TADOQuery.ExecuteOption eoAsyncExecute eoExecuteNoRecords
 
高手呢?吐血!!!为什么?这是可以实现的,很多人的程序都这样做了!期待高手的出现.
 
真差劲,怎么就不去想用增量备份?那样的话,处理的文件体积就很小了
 
先跟楼主说一声,每隔3到5分钟做一次完全备份是不可取的,想在这个频率做备份的话我想最好是做日志备份!
另外,我倒觉得不必再程序上实现这个的功能,完全可以在发布程序和数据库的时候,将SQL Server 备份job一起发布!

完全备份
backup database dbname to disk='d:/backup/dbname_full.bak' with init

日志备份
backup log dbname to disk='d:/backup/logbak/dbname_logXXX.trn' with init
其中‘XXX’你要控制好,不要让文件名重名,重名就完了!一般我是以日期+时间(精确到毫秒)做为文件名区别的!
这些语句可以写在ADOQuery控件里,用ExecSQL执行就行了!
另外,备份文件的目录事先要建立好,否则会失败!
最后提醒一下,一定要把所有备份文件备份到别的计算机上或磁带或光盘以求万全
 
先跟楼主说一声,每隔3到5分钟做一次完全备份是不可取的,想在这个频率做备份的话我想最好是做日志备份!
另外,我倒觉得不必再程序上实现这个的功能,完全可以在发布程序和数据库的时候,将SQL Server 备份job一起发布!

完全备份
backup database dbname to disk='d:/backup/dbname_full.bak' with init

日志备份
backup log dbname to disk='d:/backup/logbak/dbname_logXXX.trn' with init
其中‘XXX’你要控制好,不要让文件名重名,重名就完了!一般我是以日期+时间(精确到毫秒)做为文件名区别的!
这些语句可以写在ADOQuery控件里,用ExecSQL执行就行了!
另外,备份文件的目录事先要建立好,否则会失败!
最后提醒一下,一定要把所有备份文件备份到别的计算机上或磁带或光盘以求万全
 
后退
顶部