随着被审计单位信息化水平提升,财务数据和业务数据利用数据库管理的单位比例大幅度增加,给计算机审计带来新的挑战,审计人员必需熟悉各种数据库的内型、特点和使用方法。要全面掌握单位财务数据和业务数据的真实情况,必需找到它的存储位置,探索打开它的办法,分析数据特征与联系,进行数据清理、转换,使它成为我们熟知的数据格式,以便使用AO等专用工具进行分析、查询。 一、找数据库 查找后台数据库数据路径,要仔细了解被审计单位使用的财务软件的后台数据库类型(Access、SQL Server等),获取数据文件的存放路径。一方面,通过与对方单位专业人员交流,以询问的方式,了解其财务数据和业务数据是采用什么样的数据库进行管理;另一方面,通过查询方式,看对方计算机上面安装了哪些程序,可能用什么样的数据库,再通过前台输入有关数据,按照时间顺序查看有关程序和文件的变化情况,推测其后台数据库情况,以确认其数据库名称和存放位置。 二、迁移数据 数据库找到以后,就要通过备份、还原等方法,将被审计单位的数据迁移至我们熟悉的平台上进行分析。对不同类型的数据库备份后,要选择(配置)相应的服务器端,才能运用ODBC在不同数据库之间进行访问。从Oracle、Foxpro、Sybase、DB2等被审计单位数据库中采集到的备份数据库,要在本机上相应安装Oracle、Foxpro、Sybase、DB2服务器端,然后将备份数据库进行还原,再通过ODBC将还原后的数据库数据导入Access或者SQL Server中。 如将Sybase数据库中的表迁移至SQL Server:先设置Sybase ODBC数据源(打开“控制面板”——“管理工具”——“ODBC”,添加,“Sybase ASE ODBC Driver”,完成。数据源名(Data Source Name):"sybase-1",地址服务器名称(Network Address):"5003"(主机名),数据库名称Database Name:"xyz",测试连接(Test connect),用户(Login ID):sa,OK,连接成功(Connection Established),再导入SQL Server(打开企业管理器——选中一个数据库——打开右键所有任务——导入数据——下一步——数据源:选择Sybase ASE ODBC Driver——用户/系统:sybase1,刚才建的数据源名,用户:Login ID (sa),目的:SQL Server——选择表——下一步——完成。刷新SQL表。) 三、找有价值的表 尽管已经将其数据库中的表迁移至SQL Server,但有时候表有几百张,就要找到有价值的表,一般来说,财务数据库数据必需找到凭证库表、科目表、期初余额表。一要向对方索要数据字典进行比对查找,二要通过英文或者拼音进行猜测,三要根据所需数据表特点进行分析,如凭证库表一般记录的条数多,可以使用“找表游标”,可以查看各表的数据行数(ROW): Create table row (name varchar(50), row int, reservee varchar(30), data varchar(30), index_size varehar(30), unused varchar(30)) declare @name varchar (50),@sql varchar(500) declare cur cursor for select name from sysobjects where xtype='u' open cur fetch next from cur into @name while @@fetch_status=0 begin set @sql='insert row exec sp_spaceused'+@name exec (@sql) fetch next from cur into @name end close cur deallocate cur select * from row order by row desc 通过上述语句的执行,一般排前十名的表信息量较大,很可能是我们要找的表,逐一打开查看,看表的每一个字段的数据特征以及各个字段的联系,从而判断哪些表是我们需要的表。当然,如果对方前台使用的是我们熟悉的用友、金蝶、浪潮等财务软件,其后台数据库中的财务表为常见的,采集多了就可以直接找到,如用友8.x SQL Server备份的科目代码表、凭证表、余额表分别为code、GL_accvouch和GL_accsum,金蝶6.2行政事业版—备份文件的科目代码表、凭证表、余额表分别为GLAcct、GLVch、GLBal。 四、找有用的字段 上述表找到以后,有些表的字段达30多个,哪些是我们需要的字段呢?如科目表必需有科目代码和科目名称字段,余额表必需有余额期初、余额金额和余额方向字段,凭证表必需凭证编号、日期、摘要、借方金额、贷方金额和科目代码字段。一是可以比对对方的数据字典查找。二是在无数据字典情况下,按照每一个字段下的数据特征以及字段之间的关联关系分析查找,利用SQL语句进行测试。如,凭证编号一般是按月编制,应该是唯一的,且不能重号、也不能断号。三是利用英文或者拼音查找。四是对照对方的纸质材料,比对分析查找。