Office中国论坛/Access中国论坛

标题: [稳定性]晕了,小小的数据库用了不够一个月,已经是第二次崩溃了 [打印本页]

作者: rjacky    时间: 2007-9-4 13:55
标题: [稳定性]晕了,小小的数据库用了不够一个月,已经是第二次崩溃了
共享在网络上用了不够一个月,已经是第二次崩溃了

第一次的原因是磁盘空间不足,而我又设置了退出时自动压缩数据库,结果悲剧就发生了,坏了一半表和数据

第二次今天交换机突然断了一下(服务器有UPS没事),就不能打开,微软自家工具jetcomp、第三方accessfix、accessrecovery、accessrepair等轮番上阵,还是没救,找回来的除了乱码还是乱码

虽然设置了每天自动备份,但是这样频繁要用户补回一天的数据还是回给骂死的,access啊access,你就不能稳定一点吗
作者: andymark    时间: 2007-9-4 14:00
除了同情,还是同情
作者: zyz218    时间: 2007-9-4 14:29
除了同意,还是同意楼上观点
作者: andymark    时间: 2007-9-4 14:37
后端没必要退出执行压缩,曾经试过压缩到一半,数据库不能用
前端坏就坏嘛,有备份就行了
作者: Grant    时间: 2007-9-4 15:28
如果数据量大2小时备份一次比较理想!
作者: rjacky    时间: 2007-9-4 16:14
哎,除了无语还是无语

个人认为这些都是可以避免和解决的问题(例如access的本身就有检查磁盘空间的功能,平时空间不足的时候会提示用户不能打开,但是为什么在压缩修改数据库时就偏偏不先检查空间再进行操作呢),只是微软刻意不去完善而已,太过完美的access无论对微软还是其他公司都是恶梦
作者: andymark    时间: 2007-9-4 16:22
你在U盘里操作吗? 现在的硬盘那有不够空间之理
退出检查磁盘空间是可以实现的
作者: hugcy110    时间: 2007-9-4 16:32
同情,同情
我的数据库还好,到现在还没有发生什么大的事故.,庆幸啊,庆幸.
正在努力学习SQL,把后端转过去.
作者: rjacky    时间: 2007-9-4 16:36
放置数据库的分区,还放置了文件服务器的每天10GB数量级自动备份文件

之前看到不少朋友都是自己做了退出时检查磁盘空间的功能,但是我认为“检查磁盘空间”对于数据库来说这么重要和基本的功能,应该是由微软主动去改善,而不是只在一些操作中已经集成,而另外一些操作如压缩修改数据库中却没有,大部分用户不清楚,等到要必须自己动手做时已经吃了大亏了
作者: andymark    时间: 2007-9-4 17:09
'在程序退出前调用下面代码,即可实现当文件到达一定大小才压缩数据库

Public Function AutoCompactCurrentProject()
    Dim fs, f, s, filespec
    Dim strProjectPath As String, strProjectName As String
    strProjectPath = Application.CurrentProject.Path
    strProjectName = Application.CurrentProject.Name
    filespec = strProjectPath & "\" & strProjectName
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.GetFile(filespec)
    s = CLng(f.Size / 1000000)                      '转换成MB
    If s > 20 Then
        Application.SetOption ("Auto Compact"), 1   '压缩
    Else
        Application.SetOption ("Auto Compact"), 0   '不压缩
    End If
End Function

上面的代码为当文件到达一定大小时才执行退出压缩,稍改一下就能实现楼主的要求
作者: zyz218    时间: 2007-9-4 17:15
数据量特大时建议用SQL做后端
作者: rjacky    时间: 2007-9-4 21:07
谢谢版主的代码 access真的让人欢喜让人忧
作者: goto2008    时间: 2007-9-4 21:29
郁闷,我好怕怕
作者: hi-wzj    时间: 2007-9-5 10:00
我在刚实施时也常碰到系统崩溃的现象,后查明主要是操作员刚上手不太会用,在异常退出时不及时通知管理员进行数据库维护,虽然一两次异常退出不影响运行,但累积到一定程度就崩溃了,后来我要求他们出现异常退出必须及时汇报处理,然后在下班后做定时修复和备份,这样就运行稳定了。我的一个心得。




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3