非常急的一个数据库小问题(更新数据库)(200分)

  • 主题发起人 主题发起人 LSS
  • 开始时间 开始时间
事关数据完整性的话, 要丢还是一块丢比较好, 怕就怕写了一半,一半没写。
运气好的话整个数据库报销。 运气不好的话数据库没破坏, 但数据完整性已经完了,
以后还会出现各种莫名其妙的问题。
所以说掉电实际是一次赌博, 想靠偷鸡取胜(掉电时数据能完整写入硬盘)? 没门。
只有反复给用户强调操作步骤, 同时尽量防止意外的发生才是正途。
编程还不至于要考虑掉电时数据是否写入硬盘。
要考虑的是防止由于程序不够严谨而使用户的误操作造成数据完整性的破坏。 这是程
序员可以掌握的。(误操作不包括故意按电源按钮, 那不叫误操作, 那叫破坏)
 
eYes:基本同意,但是问题往往不在你的程序,而在其它程序.
实际上在大型数据库本身提供数据库完整性校验,用不着我们担心,如果有你说
的情况,那么和我们也无关,找DBMS厂商算帐就行了,就PARADOX而言也有
RANSACTION之类的东西,这已经偏离了正题.
再谈写了一半的问题,那在大型数据库中应该不回发生,应为它是TRANSACTION驱动
的,有LOG如果发生不完整(写一半)它会把你写的那一半也废了.关于簖电写硬盘的
问题实际上已经基本解决了.
 
故障 解决办法
1 系统掉电 UPS
2 各种死机或致命错误
使程序非正常关闭 Table1.flushbuffers
用 Tabel1.flushbuffers 一般情况下可以做到只丢失一条数据(除非在执行该
操作时掉电),加UPS 可以解决问题。
 
多人接受答案了。
 
后退
顶部