当前位置: 首页 > 范文大全 > 公文范文 >

谈K3账套的数据实例的修复

时间:2022-03-22 09:12:12  浏览次数:

[摘 要] 本文是作者总结近几年在会计电算化系统管理的经验基础上,提出对K3账套数据实例的修复方法,认为修复账套关键是账套数据库的实体的有效性和数据库系统与K3中间层的账套管理的一致性。

[关键词]数据实例;账套;修复

[中图分类号]F232 [文献标识码]A [文章编号] 1673-0194(2006)03-0047-02

随着电算化会计的发展,财务软件也从原来的核算型发展到今天的决策型的ERP系统,系统数据库支持从原来的桌面型的小型本地数据库(如dbaseIII、Foxpro、Access等)发展到今天的数据引擎式后台管理的大型数据库(如Oracle、Sybase、SQLServer等).电算化会计的数据账套的功能向集成化、完备化发展,电算账套也专门配备了管理系统,使账套更安全、更易于管理,如金蝶软件的K3系统的账套管理。

一、问题的提出

在(电算化会计》教学各个环节中,最重要就是课堂上机实习,因为通过课堂实习可加深学生对课堂理论教学的理解和提高学生的实操能力。由于本门课程固有的特点,学生课堂作业要完成一个或多个的会计业务循环,这意味学生的作业需要几周甚至更长的时间;本学期,共有7个班的学生在使用K3系统,每个学生拥有1~2个实习账套,因此,在服务器中共建了560个账套数据库实体,所以保存学生课上作业的账套是系统管理最根本的任务。

笔者在系统管理过程中,最常碰见的问题就是发现账套管理器中的账套访问无效,见图1。

从上图可看到红色字体的账套实体都是无效的。由于学生的账套无效,这时,前台客户端程序访问也会出错,见下图2。

从上图可见,学生在上机时发现自己的账套无法连接,也就是说如果不及时修复数据,学生上课实习就会落空,作为系统管理员如何及时解决这个问题呢,以下是笔者的不成熟方法,仅供参考。

二、解决问题的思路

要解决以上问题,笔者认为应从账套的数据有效性方面入手,确认账套的数据库是否值得去修复,这是我们工作的前提。

1.K3账套的结构

现在大多数的电算化系统采用大型网络数据库管理系统,支持大用产量的访问和海量的数据存储,支持MS SQLSERVER和Oracle等多种类、跨平台的大型数据库管理系统,用户可以根据自己的需要进行选择。金蝶K3的数据库支持是微软的SQL Server 2000,所以K3账套也是一对SQLServer 2000数据库文件即MDF和LDF文件,命名规则是AISyyyymmddXXXXXX,其中“AIS”是前缀,是会计信息系统三个英文单词(Accounting lnformation System:AIS)的第一个字母的缩写;“yyyy”是建立账套的四位年份数字:“mm”是建立账套的二位月份数字;“dd”是建立账套的二位日份数字;“XXXXXX”是标识账套惟一性的递增六位随机数字。在K3账套管理器中每个账套具有以下信息:账套编号、账套名称、账套类型、数据库实体、创建时间、备份时间、版本和服务器即对应的数据库实例(如上图1)。

2.数据实例损坏的原因

SOL Server数据库可能因为如下的一些原因发生损坏:

(1)操作问题,包括冷起动机器、热拔硬盘、删除一些数据库文件:

(2)硬件问题,包括磁盘控制器的问题;

(3)非正常关机:

(4)操作系统问题,包括与系统相关的一些致命错误.

为了验证数据实例是否损坏,我们可以打开SQL Ser—ver的企业管理工具,查看有关情况,见下图3。

从上图3可以看出,实例LAB4\QPZl确实损坏了,根本无法建立连接,这是造成图1所示的最根本的原因。

3.修复数据的设想

要修复数据,首先解决重建数据实例,因为建立了正常工作的sQLServer数据实例,才能把账套的数据实体引入对应的数据实例;其次是建立SQL Server数据实例与K3中间层账套管理的联系,这才能让K3系统访问账套的数据实体,这时才能让客户端程序正常工作。

4.修复账套数据实例的前提条件

前面我们已经明确K3的每个账套的数据实体(数据文件)是一对SQLServer2000数据库文件,所以我们必须首先对每个账套代码和账套名称与其唯一的数据实体进行一一对应地核对,并作必要的登记。但同时我们也必须清楚地知道究竟每个账套的数据实体是否有效、能否被SQLServer 2000识别,否则,我们是无法通过K3账套管理与SQLServer 2000的企业管理器建立关系,让账套管理程序连接到SQLServer服务。

为了能确定账套数据实体的有效性,我们必须对原来的数据关系进行研究,确定每个已经失效的账套的数据实体保存位置、是否还保存原有的数据、数据是否完备、数据实体与账套的对应关系是属于哪个数据服务实例(请注意数据实体与数据实例的区别),同时原有的数据实体的数据实例的服务是否停止还是正常,若已经停止,还要确定能否重新启动服务等细节问题。

如果数据实体的实例不能正常运行,我们还有必要清楚究竟是何种原因,前面我们已经讨论过。如果是因为存贮器的问题,还考虑在修复前要不要把数据实体转移存储位置,如从D盘转移到E盘等,还要考虑要不要备份;如果是因为实例启动问题,那还要考虑安全问题,因为实例自行停止往往是被攻击而引起的,因此,数据修复后还要考虑系统的安全问题。

三、修复数据的步骤

1.把无法进行数据连接的数据库实体具体文件名称记录下来,井与账套名称和代码建立一一对应关系,如果对应关系不对,就会产生“张冠李戴”的问题,即学生应有账套与数据实体不对应,这样可能会引起张三所做的工作保存在李四的账套中等诸如此类问题。

2.打开sQL企业管理器,在新的数据实例中使用“附加数据库”功能把已经损坏实例里面的数据库实体数据转换到新实例中。

3.打开K3中间层账套管理,对账套访问无效,显示红色字体的数据库实体点击属性进行实例名称的重新连接。

四、讨 论

通过上述方法能很快地修复账套的数据库,使学生能顺利地进行上机实习。此外,我们还可以采取如下的一些预防措施:

1.定期/不定期执行CHKDSK(不带参数),以检测硬盘物理结构并修复一些CHKDSK报告的问题:

2.备份数据。笔者认为,在数据恢复过程中最关键的是如何把学生的账套标识与其数据实体建立——对应关系,同时让K3账套管理与数据服务同步。

推荐访问: 修复 实例 数据 K3