前言:想要写出一篇令人眼前一亮的文章吗?我们特意为您整理了5篇数据库审计范文,相信会为您的写作带来帮助,发现更多的写作思路和灵感。
明御数据库审计发展的十年,是团队小伙伴每一滴汗水的浇筑。对于每一个功能需求、产品的发展方向,安恒信息都站在用户的角度反复思考其给用户带来的价值;对于每个技术实现方案,安恒信息都在考虑其设计的合理性和稳定性;对于每一个界面按钮及功能,安恒信息都在斟酌用户是否易用。
这十年,安恒信息绝不为了短期赢得某些项目而开发一些似是而非的功能作为控标参数,宁可在残酷的竞争中丢弃项目也不愿意放弃品质的原则,不愿意让产品脱离正确的发展方向,最不愿意忘记我们为客户服务的初心。踏踏实实做好产品的每一个功能,也正是这样的态度改变着数据库审计团队,影响着整个行业,安恒信息一直作为数据库安全审计行业的引领者,不断向前。
回顾数据库审计的十年成长之路,用户更加了解熟悉认真、踏实、奋进为用户服务的安恒信息……
十年奋斗,不忘初心。安恒信息明御数据库审计团队一直怀有激情和梦想,用安全可靠的产品赢得市场。相信在不久的将来,安恒信息明御数据库审计将会成为与时俱进的优秀产品,保护着数据的安全。
安恒信息明御数据库审计在审计数据智能分析的路上越走越快,与时俱进,通过大数据等技术帮助客户解决未来更为复杂的安全问题。
从2007年5月开始,安恒信息踏上了明御数据库安全审计平台的研发之旅。
2008年8月,了V1.0版本支持主流6种数据库协议。
2009年3月,了V2.0版本解析准确率高达99.96%。
2009年6月,通过逆向工程解析准确率提高至99.999999%,基本是零错误。
2009年9月,支持了SQLServer加密用户名的审计。
2010年3月,引入双向审计概念,支持主流数据库返回结果的审计
2010年9月,风险评估功能,做到事前评估、事中告警、事后审计,全流程数据安全防护。
2011年2月,率先采用两种算法解决了业内一直困惑的三层审计难题,支持部分环境100%准确关联。
2012年6月,每秒处理性能超过90000条,审计取证检索性能高达每秒1800万条/秒,截至目前仍遥遥领先。
2013年9月,在某客户实现最高46个节点的超大分布式部署环境,从此任何高端行业再无性能压力问题。
2013年3月,系y内置了近40张最为丰富且最有价值的报表。
2013年6月,支持了数据库自学习建模,通过自学习建模智能识别越权访问行为,更加适应复杂场景。
2014年3月,率先支持各种云环境数据库的审计,解决云端审计的难题,目前仍行业唯一。
2014年8月,支持反向部署方式应对云端更为特殊的环境。
2015年3月,率先支持了采用加密运维协议数据库维护操作的关联审计,实现真正网络全审计。
2015年7月,了数据库审计大数据平台版本,业内唯一实现通过大数据平台分析海量审计数据,解决大客户数千亿条数据存储、检索的难题,存储时间任意扩展,查询性能高达100亿数据检索仅需6~8s 钟,并成功运用到数十个超大客户现场。
关键词:数据库审计;三层架构;应用审计
随着全球信息化建设的加快,信息系统的安全运行已经被提到非常重要的日程上来,医院HIS等各种系统中数据库的重要性日渐显著。常德市第一人民医院信息化经过多年的建设,在医院的科研,教学,管理工作中发挥了巨大的作用,医院使用方正HIS系统,终端使用客户端程序直接访问中间件服务器,然后中间层服务器再访问后台HIS数据库服务器。根据常德市第一人民医院信息系统建设和运行的现状,本设计数据库审计系统的范围主要包括SQL数据库审计、oracle数据库审计、sybase、三层架构数据库审计等方面。
三层网络结构是采用层次化架构的三层网络,采用层次化模型设计,就是把比较复杂的网络设计划分为几个层次,每个层次着重于特定的某些功能,即可使大问题化为一些小问题。这个设计的网络有三个层次:核心层、汇聚层、接入层 。
1系统目标
数据库审计的目标在于记录每一次数据操作的信息,以便进行事后审查,即当数据访问操作发生时,记录什么人、什么时候、什么地方、对什么数据进行了什么操作的信息。分析归纳后,将对数据库系统的数据方位操作表示为:操作者、操作对象、操作时间、操作内容。数据库审计系统的目的即能够对即将被审计的数据部署审计,当被审计数据发生操作时,随之实现对操作者、操作内容等信息的自动记录,并且提供对于这些信息的查询、统计等等功能。此外对于有着不同安全要求的数据对象,又划分成记录操作和不记录操作数据两种[4]。
2系统的分析与设计
依据系统的目标,审计系统的功能主要包括:实现审计功能,当被审计数据加载后,实时记录对审计目标的各种操作信息;实现对审计功能的管理,包括对被审计对象的功能配置、用户管理、审计范围等;实现对审计数据的管理,如审计结果数据的查询、管理等。
对大多数据库的应用系统,都设计实现了各自系统的用户管理,以此来实现应用系统的用户管理与认证。当用户通过应用系统对数据库的数据进行操作时,审计信息中的操作时间、操作对象、操作内容信息等等,通过在数据库系统中编写捕获程序可获得,而操作者的用户信息由于应用系统的不同而不同,则需要应用系统实现对操作者信息的记录。因此在系统设计当中,对审计信息的记录分为数据库审计和应用系统审计[5]。
2.1数据库审计的功能是在对数据库操作发生时,捕获并记录与操作相关的人、地点、时间、对象、行为等信息,在数据库中,对数据库操作的时间、对象、行为的记录可借助系统抓包,捕获、分析来实现。
2.2应用审计审计的目的是为了得到操作者、操作内容、操作时间、等信息,但在3层架构用户无法由抓包中直接取得。应用审计是审计系统在应用系统中实施的其中一部分,它的功能主要是记录应用系统用户的操作者的信息。因为现在的应用系统大多使用B/S架构或者C/S架构,所以它需要通过各自在使用这两类架构的应用系统上去完成。在C/S架构的应用系统中,用户通过该系统客户端连接到数据库,由客户端取得该用户的信息。在B/S架构的应用系统中,用户在浏览器会话期间,应用系统可以根据用户的绘画信息得到操作者信息。
2.3数据库审计和应用审计的数据关联,在数据审计和应用审计各自实现了对审计要素中不同内容的记录后,还必须把数据库审计记录的数据操作信息和应用审计记录操作者信息关联起来,以便系统能根据操作信息得到执行这个操作的唯一的操作者信息。
会话是数据库服务器对于数据库连接进行记录的一种方法,在会话包含的一些信息当中,会话标识符是数据库为每次数据库连接分配的唯一的编号,它具有唯一的标识数据库会话的作用,不仅可以被数据库审计记录,并且还能被应用审计记录。会话标识符的唯一性可以保证这种对应关系的唯一性。因此在该审计系统的设计中采取该方法实现两个审计之间的数据关联。
3技术分析
目前,常见的审计方法主要有:数据库自身审计、常规的审计系统。但是业界常用的数据库自身审计存在缺陷,无法满足医疗系统的审计要求。而简单的审计系统,虽然捕获了非法统方的数据,但由于无法及时的阻断;更不能对非法统方进行现场的取证,定位犯罪份子,从根本上阻止非法统方行为,阻断非法统方这条灰色产业链。
综上所述,审计系统的防统方专版与其他的数据库审计产品功能对比如下:数据库自身审计、普通的审计系统、防统方专版;数据库自身审计对管理员的要求很高,不方便使用;审计的日志可人为删除,使丧失了审计的中立性和不可篡改性原则;占用服务器的资源,影响业务系统的运行;各种数据库系统的审计信息的格式比较复杂,不统一,难以集中审计,影响审计效果; 不是专门针对医院的防止非法统方;没有业界常见业务的统方规则库;只能做到记录操作的日志,却不能进行深度的分析与挖掘;不能真正的实现统方行为的阻断;无法提供"犯罪"现场的录像取证,追查犯罪份子;报表复杂不易操作;无法提供监察模块为监察人员查阅,专门针对统方事件的审计;内置业界常见的业务系统统方规则库,操作简单;实现对三层网络架构数据库服务器的操作进行审计;能阻断并提供现场录像取证;提供深度的挖掘功能,灵活的调整系统的规则库;报表丰富且明了、易懂;部署简单不影响现有系统。
4结论
本文设计的数据库审计系统,解决了应用系统向结合的数据库操作的设计问题,实现了记录操作者、操作时间、操作地点、操作内容的关键功能。
常德市第一人民医院大多采用多个应用系统共用数据库服务器的架构,本文设计的审计系统对这种信息系统具有比较明显的优势,表现如下:审计系统蚕蛹数据库审计和引用审计分离的结构,使得系统具有更好的扩展性,对于应用系统来说,加载对该系统的审计仅需添加引用审计的代码;审计系统与审计库审计是共同的,由于审计系统的统一性,可运用统一的分析方法依据审计信息对一些安全事件进行分析,也便于将多个应用系统的安全事件关联起来确定非法操作来源。数据库审计是信息系统审计的一个重要环节,除此之外还有入侵检测审计、主机审计、网络安全审计等等,他们共同构成信息系统的审计体系。
参考文献:
[1]袁宗福,等.计算机网络技术与应用[M].人民邮电出版社,2010.
[2]陆云帆.基于oracle的数据库设计[M].机械工业出版社,2011.
[3]王珊,等.数据库系统概论[M].4版.高等教育出版社,2006.
摘要:数据仓库是进行多角度数据分析的基础,在审计中可借助数据仓库技术分析数据,用以辅助发现问题和锁定审计重点。数据仓库中的数据结构是面向数据分析设计的,在构建数据仓库时需要对原始操作型的数据进行适当的清理和转换,使其更适合分析的需求。本文介绍了构建审计分析数据仓库中常见的数据清理和数据转换问题以及相应的解决技术。
关键词:数据仓库;数据清理;数据转换
中图文分类号:G642
文献标识码:B
1数据仓库技术及在审计中的作用
随着计算机及数据库技术的飞速发展,人们对数据的处理提出了更高的要求,希望计算机能更多的参与数据分析与决策的制定等领域。因此数据处理的发展相应地形成了两大类型,一类是操作型处理,即我们日常的事务型处理,比如银行业务、商品零售业务等;另一类是分析型处理,比如分析数据之间潜在的关联关系,分析一段时间内数据的变化情况等。数据仓库技术是为第二类应用而产生的,其主要目的是构建适合数据分析的数据结构,并将事务型操作中的业务数据,经过适当的清理、转换,加载到数据仓库数据库中,从而更利于进行数据分析。目前常用的数据分析技术有联机分析处理和数据挖掘,联机分析处理是从多个角度分析数据,也称为多维分析,而数据挖掘是发现数据之间潜在的关联关系。联机分析处理和数据挖掘针对的对象都是数据仓库中的数据,因此构建数据仓库的结构和数据是进行数据分析的基础。
事务数据、数据仓库、联机分析处理以及数据挖掘之间的关系示意图如图1所示。
图1事务数据、数据仓库及数据分析间的关系
近几年我国的审计技术水平发展非常迅速,审计方法也从过去的手工翻账,发展到今天的利用计算机进行审计。目前用计算机进行审计主要有两种方法,一种是直接针对数据库数据编写审计分析的SQL语句,这种方法的好处是灵活方便,缺点是不利于快速锁定审计重点,发现问题;另一种就是构建审计分析的数据仓库,然后利用多维分析技术对数据进行多角度分析,这种方法便于快速锁定审计重点,发现数据之间内在的关系和问题。
审计工作的好坏关系到国家的财政安全、金融安全等诸多方面,做好国家各方面的审计工作有助于揭示存在的风险,提出防范和化解风险的对策性建议,维护国家的稳定和安全。因此,正确地构建适合审计分析的数据仓库在审计工作是非常重要的。
随着被审计单位的数据规模的不断扩大,尤其是在金融、海关、证券等领域,其数据量非常大,业务也很复杂,单纯依靠传统的SQL语句进行审计分析的方法已经不能完全满足要求,因此应借助数据仓库和多维数据分析的优势。
为在审计中利用多维分析技术,首先要做的是构建适合多维分析的数据仓库。由于被审计单位的数据并不都是规范的,因此在构建数据仓库时,必须先对原始数据进行适当的清理和转换,才能更方便地进行数据分析。
下面先讨论在构建审计分析数据仓库时,比较常见的数据清理问题以及清理办法,然后介绍一些常见的数据转换技术。
本文主要是以SQL Server数据库管理系统为例,介绍在这个系统中可利用的数据清理和转换技术。
2数据清理技术
在构建用于数据分析的数据仓库时,由于从源系统中采集到的数据来源众多、种类繁杂以及数据不规范等原因,这些源数据可能存在两种情况:第一种是有些列的数据对审计分析是无意义的;第二种是对那些有意义的数据,可能又存在某些数据值定义不完整、数据冗余等情况。这种不规范的、不完整的数据会影响后续数据分析的结果。因此,数据清理是将数据加载到数据仓库之前必须要进行的工作。
在构建审计分析数据仓库时比较常见的数据清理问题有如下几类:
数据冗余。主要指采集到的数据表中存在着对数据分析没有意义的字段或记录。
空值。在数据库中,空值并不等同于“0”值(对于数值型)或者空字符串(对于字符型),空值不能进行数值型数据的加减以及比较大小等运算,大部分聚合函数在进行计算时也忽略空值,但对审计人员来说,这有可能导致某些数据分析结果不正确。因此需要对这些空值进行清理。
数据不规范。指数据表中存在妨碍数据分析的其他情况,如数据前的空格、录入时人为省略的字段值等。
2.1冗余数据的清理
2.1.1重复行数据的清理技术
数据表中的重复行数据是指由于原始数据库设计上的缺陷(如,没有定义主码),使数据表中存在数据值完全相同的记录,这些重复数据会影响数据分析的结果。
对重复行数据的清理方法:通过SQL语言的SELECT … INTO … 语句将原始表中的非重复行数据直接存储到一个新的分析表中。其语句格式为:
SELECT DISTINCT * INTO 新分析表名 FROM 有重复行数据的原始表名
2.2.2无用字段的清理技术
无用字段是指对审计分析没有意义的字段,这些字段的存在会增加系统的存储和处理开销,同时也可能会影响分析人员的分析思路。因此,在构建数据仓库时,应清除掉这些无用字段。
消除无用字段可以使用ALTER TABLE语句实现,具体格式为:
ALTER TABLE 表名 DROP COLUMN 无用列名1, 无用列名2,…
2.2空值的清理
空值在数据库中是一个特殊的值,它既不是0值也不是空串,它代表一个不确定的值。因此空值在与确定值进行运算时,其结果还是空值。这意味着对含有空值的列进行统计分析时,其结果可能与人们期望的不一样,因此,在构建数据分析的数据仓库时,可先对这些空值进行清理。
根据审计分析的需要,一般对空值的清理方式是将其替换为一个确定值,比如0(对数值型数据)或空串(对字符型数据),这可利用SQL语言中的UPDATE语句实现,具体格式为:
UPDATE 表名 SET 列名 = 0 WHERE 列名 IS NULL --置为0
UPDATE 表名 SET 列名 = ' ' WHERE 列名 IS NULL --置为空串
2.3不规范数据的清理
在操作型数据库中,有可能存在由于操作人员录入数据时的不小心,在实际数据前输入了一个或多个空格,这些不起眼的空格很可能会严重影响数据分析的准确性。例如对图2所示的“支行基本表”中的数据,如果审计人员要查看“F市26支行”的贷款情况,如果按下述条件子句查询:
图2存在多余空格的数据
Where 支行名称 = 'F市26支行'
则图2中圆圈所标记的数据行将不会出现在查询结果中。为避免这种情况,在构建数据仓库时应消除数据前的无用空格。这也可以使用UPDATE语句实现,具体格式为:
UPDATE 表名 SET 列名 = LTRIM(列名)
例如:消除“支行基本表”中“支行名称”列前的无用空格的语句为:
UPDATE 支行基本表 SET 支行名称 = LTRIM(支行名称)
3数据转换技术
关键字:BP神经网络; 数据库; 查询;准确度
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2017)04-0001-03
神经网络系统是根据人体神经系统的基本原理构建的,其在一定程度上实现了记忆和训练过程[1-2]。此项功能体现了神经网络与传统计算机算法存在的根本差异,其具备在线学习、自调节以及自适应性,同时具备信息的分布式信息存储特性。正是由于神经网络的学习特性,使其在联想记忆、数据非线性映射、在线学习模型构建、数据信息分类与识别等领域具有了广泛的应用空间。
在云数据应用时代,存储系统的应用领域及使用者的范围不断扩大[6],用户呈指数倍的增长使得数据的存储容量不断增长,用户访问数据库的频繁程度也将持续增加,这对存储系统数据库访问的吞吐量性能提出了更高的要求,也对数据查询的效率得出了更加严格的标准。
本文提出的基于神经网络的数据库优化查询方法主要通过对云存储数据的关键词进行相似度对比,利用神经网络算法对查询数据样本进行记忆训练,通过对查询关键字进行数据匹配,最终实现数据的准确查询。为了测试本文设计的基于神经网络的数据库优化查询方法的可行性及准确性能,作者在完成了模型构建后,Matlab软件中构建实验场景,模拟数据库检索过程,完成了对查询方法进行测试验证。
1 神经网络模型的建立
1.1 BP神经网络处理单元模型
为了不失一般性,选取BP神经网络的任意两层介绍其处理单元的数学模型。BP神经网络处理单元的结果如图1所示,其中,L1层的[n]个神经元和L2层的[p]个神经元进行全连接,定义连接权向量为[W={wij},i=1,2,…,n,j=1,2,…,p];L1层的[n]个神经元的输出作为L2层各神经元的输入列向量[X=(x1,…,xi,…,xn)T],L2层各个神经元的阈值设置为[θj,j=1,2,…,p],因此,L2层各神经元接收的输入加权和如下式所示[3-4]:
L2层各神经元的输出结果利用转移函数进行计算。一般情况下,BP神经网络将Sigmoid函数作为转移函数。Sigmoid函数的数学表达式为:
因此,L2层各个处理单元的输出为:
由于Sigmoid函数的输出类似于本文设计的神经网络的信号输出形式,本文设计的模型采用Sigmoid函数作为系统的转移函数,其能蜃既访枋鍪据检索过程中的非线性特性水平[5-6]。
1.2 BP神经网络学习算法
本文的无线通信选择机制采用三层BP神经网络结果,具体学习算法如下所述:
输入模式向量设为[Xk=(x1k,…,xik,…,xnk)T],[k=1,2,…,m],其中[m]表示样本模式对个数,[n]表示输入层神经元数量;输入模式对应的期望输出向量为[Yk=(y1k,…,yik,…,yqk)T],隐含层神经元的净输入向量设置为[Sk=(s1k,…,sik,…,spk)T],输出向量设置为[Bk=(b1k,…,bik,…,bpk)T],[q]表示输出层单元数量,[p]表示隐含层单元个数;输出层神经元净输入向量设置为[Lk=(l1k,…,lik,…,lqk)T],实际输出向量设置为[Ck=(c1k,…,cik,…,cqk)T];输入层神经元至隐含层神经元的连接权值设置为[W={wij}],其中,[i=1,2,…,n,j=1,2,…,p]隐含层至输出层的连接权值设置为[V={vjt}],隐含层神经元的阈值设置为[θ={θj},j=1,2,…,p],输出层各神经元的阈值设置为[γ={γt},t=1,2,…,q]。
(1)初始化操作。将连接权值矩阵[W]、[V]及阈值[θ]、[γ]在[[-1,+1]]区间内进行随机取值。
(2)随机从训练集合中选取一个学习模式对[(Xk,Yk)]作为BP神经网络的输入。
(3)输入层的输出的计算。输入层的各神经元不对输入模式进行任何处理,而是直接将接收到的数据关键词直接输出到隐含层各神经元,不做任何的数据处理。
(4)根据下式求得隐含层各处理单元的净输入和净输出:
(5)根据下式求得各输出层神经元的净输入和实际输出:
(6)根据设定的期望输出,通过下式求得各输出层神经元的校正误差[dkt],
(7)根据下式得出隐含层各神经处理单元的校正误差[ekj],
(8)根据下式调整隐含层至输出层的连接权值[V]和输出层神经元阈值[γ], [α]表示学习速率,[0
(9)根据下式调整输入层至隐含层神经元的连接权值[W]和输出层神经元阈值[θ], [β]表示学习速率,[0
(10)为BP神经网络随机输入下一个学习模式对,返回(3)处,直至训练完成[m]个学习模式对。
(11)对系统的全局误差[E]进行判断,查看其是否满足神经网络设定的精度需求。如果 [E≤ε],这说明满足结束条件,结束学习过程,如果未满足,则继续学习。
(12)更新神网络学习次数,如果未达到设定的学习次数,则返回Step2。
(13)BP神经网络学习过程结束。
在整个神经网络的学习阶段中,分别涵盖了输入模式的“顺传播过程”,全局误差的“逆传播过程”以及“学习记忆训练”过程,(11)至(12)表示是收敛过程。全局误差[E]的理想学习曲线如图2所示。
为了减小震荡,加快网络的记忆训练速度,作者在对连接权值进行调整时,在改变量基础上添加一定比例的权值改变值,称之为动量项。则附加动量项的连接权值调整方法如下式所示:
式中,[ηΔwij(n-1)]代表动量项,其中[n]为学习次数,[η]作为动量系数,[0
加入动量项的本质目的是使控制学习过程的学习速率[β]不仅仅是一个固定值,而是能够持续变化的。在引入动量项后,网络总是试图使连接权值的调整按照相同方向进行,即使前后两次连接权值的调整值方向相反,也能够降低震荡趋势,加快学习记忆速度,以及网络收敛速度[7]。
通常来说,动量系数的取值不宜过大。若动量系数过大,动量项所占比例过重,则本次误差修正项的作用会不太明显,以致完全没有作用,反而会减慢收敛速度,甚至导致整个网络震荡。一般情况下,动量系数的最大值在0.9作用,本文取值为0.6。
2 数据库查询方法测试
为了测试本文设计的基于神经网络的数据库优化查询方法的可行性及准确性能,作者在完成了模型构建后,Matlab软件中构建实验场景,模拟数据库检索过程,完成了对查询方法进行测试验证。数据库查询学习样本使用的是加州大学标准数据集,通过选择中度数据规模的样本空间进行设计网络的学习训练,主要训练搜索关键字与查询结果直接的对应关系,并进行存储记忆。通过不同查询次数的响应延时进行统计分析,与未使用任何算法的随机检索方法的搜索结果进行对比分析。数据检索实验对比结果如图3所示。
从数据检索对比结果得知,当迭代次数达到200次时,本文提出的基于神经网络算法的数据库查询方法满足收敛条件[f(x)≤e-10],此时可视为系统以及查询到最优数据结果。同时,较随机数据库检索方法,本设计的优化方法在响应延时方面平均降低了34.7%,同时搜索查询准确率高达99.3%。
3 总结
神经网络在联想记忆、数据非线性映射、在线学习模型构建、数据信息分类与识别等领域具有了广泛的应用空间。通过对云存储数据库查询过程的原理进行研究,本文提出的基于神经网络的数据库优化查询方法主要通过对云存储数据的关键词进行相似度对比,利用神经网络算法对查询数据样本进行记忆训练,通过对查询关键字进行数据匹配,最终实现数据的准确查询。为了测试本文设计的基于神经网络的数据库优化查询方法的可行性及准确性能,作者在完成了模型构建后,Matlab软件中构建实验场景,模拟数据库检索过程,完成了对查询方法进行测试验证。仿真结果表明,本文提出的基于神经网络的数据库优化查询方法的准确率高达98.3%,具有较高的检索精度及稳定性。
参考文献:
[1] 李中志.基于改进BP神经网络的水位流量关系拟合[J].中国农村水利水电, 2008(10):30-32.
[2] 任雯,胥布工.基于标准神经网络模型的非线性系统分布式无线网络化控制[J]. 控制与决策, 2015,30(4):691-697.
[3] 余开华.小波神经网络模型在河道流量水位预测中的应用[J].水资源与水工程学报, 2013, 24(2):204-208.
[4] 潘道宏.RBF神经网络模型拟合电力抽水站水位流量关系研究[J].水利科技与经济, 2010,16(3):300-301.
[5] 孔玉静,侯鑫,华尔天等.基于BP神经网络的无线传感器网络路由协议的研究[J].传感技术学报, 2013, 26(2):246-251.
[6] 田晓青,刘松良.基于人工神经网络的过闸流量软测量研究[J].电子产品世界, 2013(10):43-45.
(一)利用被审计单位应用系统的数据转出功能。利用此功能的前提是转出数据格式符合审计人员的需求,或者转出数据经过处理后能够符合审计人员的需求。例如:被审计单位的财务系统使用的是浪潮国强财务软件,利用其自身的凭证和余额的查询功能将数据查询出,然后利用其“文件”菜单下的“数据转出”功能可将查询出的数据转存为.xls、.dbf、.txt文件,然后在笔记本电脑上就可以直接进行分析处理或者导入“AO”软件中进行分析处理。此方法简单易用,适用于一般的审计人员,特别是不熟悉后台数据库技术的同志。
(二)利用被审计单位业务系统所使用的数据库系统的转出功能。例如:利用sql数据库自身的“导入和导出数据”功能可以将sql数据库中的数据表全部或有选择转存为AO等审计软件所需要的格式。
(三)根据了解的系统的情况,直接将可利用的数据文件复制到审计人员的计算机中。例如:用友7.0至用友u8.12财务软件的数据库为access,则可以找到其文件存放位置,直接将ufdata.mdb文件拷贝出,再运用“AO”等专用审计软件导入进行数据分析处理。
(四)运用“ODBC”技术实现跨系统、跨平台的数据采集。ODBC(OpenDataBaseconnectivity),直译为开放式数据库互连接,是一个数据库访问库,它包含访问不同数据库所要求的ODBC驱动程序,如要访问Sybase,就用Sybase的ODBC驱动程序,要访问DB2数据库,就用DB2的ODBC驱动程序。总之,应用程序要访问不同类型的数据库,只要调用ODBC所支持的函数,动态链接到相应的驱动程序上即可。
在对被审单位进行审计时,审计人员可以采用ODBC技术使被审单位信息系统中的后台数据库和审计组自带的服务器或笔记本电脑中的数据库之间通过计算机网络直接相连(可直接接入其内部局域网,成为当中的一员;或者用交叉网线直接与服务器相连,最好采用前一种方法)。根据审计要求,就可以通过这一直接连接的数据接口,在被审单位信息系统的数据库中读取规定时间段、规定范围内的审计数据。
下面,以我局在近期的“五保专项资金审计”中使用SQLServer2000数据库管理系统访问被审单位小型机UNIX系统中Sybase数据库的实际工作经历为例,介绍一下运用ODBC技术实现跨系统、跨平台访问大型网络数据库的操作步骤及方法。
第一步,安装Sybase客户端及SQLServer2000软件。在审计人员的电脑中安装Sybase客户端及SQLServer2000数据库管理系统,并能够访问被审计单位UNIX服务器上的Sybase数据库。
第二步,新建数据库。开启SQLServer2000服务管理器,打开“企业管理器”,新建一个数据库,命名为“Sybase数据转换库”。
第三步,配置数据源。运行SQLServer2000的“DTS导入/导出向导”,选择数据源为“SybaseASEOLEDBProvider”,在“数据链接属性”选项卡中,输入各项连接信息:填入数据源名称(由被审计单位提供,它包含的就是Sybase客户端与后台数据库连接的配置信息),输入用户名称和密码,并在“输入要使用的初始目录”中,选择需要访问的数据库。