小型数据库备份与恢复的原理
本文所说的小型数据库是指库文件容量不超过一张磁盘的数据库,对这种数据库,我们常用的备份方法是用: Copy to < 路径\backup1> 命令直接拷贝库记录,并生成backup1.dbf的表文件,如果原数据表有备注字段还会同时生成一个名为 backup1.fpt的备注文件,我们再用 Copy index indexfilename to <目标路径\filename1> 命令备份索引文件即可。
第二种方法是用 Copy to <路径\backup1.txt> 命令将原数据表备份成为一个文本文件 backup1.txt ,并用 Copy structure to <路径\backup1> 命令将原数据表的结构备份为backup1.dbf, 如果原数据表有备注字段的话也会生成备注文件backup1.fpt。注意在存储成文本文件时,如原数据表有备注字段时,拷贝命令不要用 Copy to <路径\backup1.txt> sdf,因为这样无法生成备注文件backup.fpt。恢复的办法是用 Copy structure to 命令恢复库结构,再用 Append from <路径\backup1.txt> 命令,即可将数据记录包括备注字段一并恢复。注意这种情况下一定要保证备份时生成的备注文件backup1.fpt是完好的。
大型数据库备份与恢复的原理
1.问题的提出
在一个系统中,当一个库文件大于1.44Mb时,无法用一张软盘进行备份时,本文称之为大型数据库的备份与恢复问题,这恰恰是最常见的情况。
2.分析
用 Copy to 〈路径\filename〉[〈scope〉] 命令可以将目前工作区中数据库的记录全部或部分拷贝到目标数据库文件中去。〈file〉是目标文件名,如果不给目标文件指定扩展名的话,系统默认扩展名为.dbf;用〈scope〉关键字控制记录拷贝操作,将适当的记录数备份到软盘上,这样就可以解决一张磁盘装不下的问题。而恢复的动作正好相反,只要利用命令将备份到各个磁盘的数据记录合并就可以了。
3.具体实现步骤
(1)对容量进行计算
设定默认路径为软盘所在驱动器,用diskspace()函数计算备份软盘的剩余空间,用recsize()函数对需要备份的数据库中的每条记录长度进行计算,然后用测试得的磁盘可用空间除以记录的长度,确定该软盘剩余空间能够备份数据库中多少条记录,当然这是最理想的情况即没有备注字段等特殊字段,否则还得考虑每条备注字段的大小。
(2) 将指定的数据记录备份到软盘
如果磁盘空间所能备份的记录数目大于数据库现有的实际记录数目时,直接用 Copy to 〈file〉备份。否则先移动记录指针到开始备份的记录号上,然后用 Copy to 〈file〉 Next 〈备份记录数〉备份,下一张盘备份时,让指针后移到需备份的记录处。
(3) 作好备份盘号、记录数等标记
为了备份盘管理和以后恢复时能够按正确的顺序进行,我们在拷贝完后,要将每一张盘的备份情况存入备份设置文件Bak.dbf中,以便恢复程序能够识别备份盘。
【VFP数据库文件备份与恢复】相关文章:
四六级作文:一个星期一篇作文训练(2)02-06
我梦想中的房子高考英语作文02-06
上网利与弊的短文,300字左右_500字02-06
2017年12月英语四级翻译练习题库之798艺术区02-06
the internet英语作文150词02-06
高考英语词汇: one another与one after another的区别02-06
高中生英语作文:为什么人们选择网购02-06
2022考研英语感谢信作文词句积累02-06
09中考英语命题作文 C02-06
