欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    2010年运维中级认证-数据库运维中级培训.ppt

    • 资源ID:2383719       资源大小:6.57MB        全文页数:184页
    • 资源格式: PPT        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2010年运维中级认证-数据库运维中级培训.ppt

    数据库运维 认证培训,管理软件事业部,前言,为帮助维护人员了解数据库原理与基本结构,掌握SQL Server常用工具的使用,在后期运维中更准确的处理数据库相关问题,故编写此文档。,目 录,数据的集合,用于描述一个或多个相关组织的活动。,数据库,数据库,应用程序,数据库管理系统,数据库,操作系统,应用程序,应用程序,由应用程序、数据库管理系统、数据库、数据库管理员、用户等构成的人机系统。,用 户,数据库管理员,云计算,层次数据模型:,网状数据模型:,图书A,借阅人甲,图书B,图书C,图书D,借阅人乙,借阅人丙,层次、网状数据模型都是通过指针进行数据存储 调用,关系数据模型:二维表,表与表之间可以是树形或网状的结构,二维表实例:出入库单主表 表名:zhubiao,关系模型,目 录,数据库应用,使用方法,优缺点,局限,在安装SQL Server 2005前,应确认主机上已安装下列软件且版本满足条件。,X86代表32位操作系统 X64代表64位操作系统,【第一步】接受、确认最终用户许可协议。,【第二步】安装必须组件。,【第三步】系统配置检查。,数据库挂起问题,打开注册表编辑器(开始-运行-regedit),在HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession Manager中找到PendingFileRenameOperations项目,并删除它。这样就可以清除安装暂挂项目。,性能监视器计数器问题,打开注册表编辑器(开始-运行-regedit),定位到:HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersion Perflib中的“Last ounter”和“LastHelp”,使其与“Perflib004”的“Counter”和“Help”项的最大值相匹配即可注意:009中存储的是英文版本的计数器 004中存储的是中文版本的计数器,COM+问题系统配置检查时提示:COM+目录不符合要求如果直接点击下一步进行安装软件会提示:“无法在com目录中安装和配置程序集c:program filesMicrosoft SQL Server90DTStasksmicrosoft.sqlserver.MSMQTASK.DLL.错误:2146233087”,第一步、删除注册表中的键:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMSDTC HKEY_LOCAL_MACHINESOFTWAREMicrosoftMSDTCHKEY_CLASSES_ROOTCID,第二步:使用cmd执行:停止MSDTC服务:net stop msdtc卸载MSDTC服务:msdtc-uninstall重新安装MSDTC服务:msdtc-install,【第四步】功能选择。,需要至少选择“连接组件”和“管理工具”两个功能组件。,密码策略问题,【第五步】监控安装过程。,【第六步】根据系统提示,确认安装完成。,【第七步】安装结果检查,确认开始菜单中可以找到SQL Server Management Studio和SQL Server Configuration Manager。,安装时请注意版权,安装正版软件。,数据库执行工具的使用,SQL2005安装过程数据库挂起问题性能监视器计数器问题,SQL Server Management Studio是SQL Server 2005全新的管理工具,集成了SQL Server 2000中的企业管理器和查询分析器,可以实现连接数据库、查看修改数据对象、执行SQL脚本等功能。,1、启动SQL Server Management Studio。,2、连接到服务器,A6实例名为AIDATA。,3、连接成功后进入SQL2005。,此为A6各个帐套的数据库,1.2以后版本的帐套库命名规则:A6+帐套号+帐套创建所在年度,例:查看帐套库中的科目表GL_Account的所有内容,此操作相当于执行语句:select*from GL_Account,例:查看帐套库中的科目表GL_Account的所有内容,查询结果在右侧显示,例:查看帐套库中的科目表GL_Account的所有内容,点击【SQL】按钮,右侧会显示命令编辑框,可以执行有条件的SELECT查询,例:在A60022010库中执行下列语句:Select*from ST_StkRecord,选中要执行语句的数据库,点击【新建查询】按钮,3、录入语句或直接粘贴脚本,先点击【对号】检查语法是否正确,再点击【执行】按钮执行语句。,数据库分离的操作步骤,不能分离连接为活动状态的数据库,保留与数据库相关联的所有全文目录,数据库附加的操作步骤,选中【数据库】,在右键菜单中点击【附加】,数据库附加的操作步骤,点击【添加】按钮,增加MDF格式的数据库文件,数据库附加的操作步骤,3、选择MDF文件后点击【确定】按钮。,数据库附加的操作步骤,点击【确定】按钮,系统自动将数据库文件附加到SQL2005中。,数据库的备份还原操作,数据库的备份还原操作,按数据库备份,按文件还原,Microsoft SQL Server Profiler是 SQL 跟踪的图形用户界面,用于监视 SQL Server DatabaseEngine或 SQL Server Analysis Services 的实例。您可以捕获有关每个事件的数据并将其保存到文件或表中供以后分析,事件探查器的功能:监视SQL实例的性能 调试SQL 语句和存储过程 单步执行语句测试SQL语句和存储过程 捕获生产系统中的事件并在测试系统中重播 审核和复查在SQL实例中发生的活动,打开事件探查器:开始菜单SQL2005性能工具中点击SQL Server Profiler,新建跟踪,语句执行区,功能按钮,语句查看区,用于审核服务器活动的事件类,服务器会话事件类,执行存储过程时生成的事件类,执行从客户端传递到 SQL Server 实例的 Transact-SQL 语句时生成的事件类,Management Studio的日常使用数据库的备份/还原/分离/附加,事件探查器的功能如何灵活使用事件探查器,目 录,Select功能:从数据库中查询所需要信息。SELECT FROM,例:SELECT*From CM_Industries,Select cMatCode as 物品编码,cSpec as 规格型号from CM_Material,Select cMatCode,cSpec from CM_Material,查询物品表中的“物品编码”和“规格型号”:,Select*from CM_Material,查询出物品表中所有字段:,查询出字段后为字段指定名称:,SELECT FROM WHERE,指定表名,限制条件,例:从出入库单主表中查询出制单日期为09年2月28日的单据,其SQL命令为:Slect*from ST_StkRecord where dDate=2009-02-28,写语句时先写where条件,GROUP BY ALL group_by_expression,.n WITH CUBE|ROLLUP Group by 列出需要分类的数据列例:SELECT 存货类型,AVG(成本)FROM 存货表 WHERE 售价 12000 GROUP BY 存货类型,HAVING HAVING 子句对 GROUP BY 子句设置条件的方式与 WHERE 子句和 SELECT 语句交互的方式类似。WHERE 子句搜索条件在进行分组操作之前应用而 HAVING 搜索条件在进行分组操作之后应用HAVING 可以包含聚合函数,例:SELECT 存货类型,AVG(成本)FROM 存货表 WHERE 售价 12000 GROUP BY 存货类型 HAVING AVG(成本)5000,WHERE 子句用来筛选 FROM 子句中指定的操作所产生的行,GROUP BY 子句用来分组 WHERE 子句的输出,HAVING 子句用来从分组的结果中筛选行,理解应用 WHERE、GROUP BY 和 HAVING 子句的正确序列对编写高效的查询代码会有所帮助:,Update功能:更新指定条件的数据。UPDATE SET WHERE 例:将客户ID是9952记录的制单人改为王五Update SA_Dispatch set cCreatorGUID=王五 where cCustGUID=9952,Inesrt功能:向表中增加新的数据INSERT INTO()values()例:在行业表中增加一条新纪录Insert into CM_Industries(cCode,cName)Values(0010,电子行业),Delete功能:删除指定数据。DELETE FROM WHERE 例:删除单据XC201005005,注意:Delete from ST_StkRecord 将删除子表中所有记录,Delete from ST_StkRecord Where cBillCode=XC201005005,in操作符,用在where后,当同时查询多个条件时,用以简化写法Select*from ST_StkRecordLine where cGUID in(001,002)等价SQL语句:Select*from ST_StkRecordLine where cGUID=001 or cGUID=002,在出入库单子表中删除主表ID为,主表中“制单人为C001的单据的主表ID”Delete from ST_StkRecordLine where cHeadGUID in(select cGUIDfrom ST_StkRecord where cCreatorGUID=C001),创 建,更 改,删 除,表,视 图,索 引,了解内容,1、查询Co_versionInfo(版本信息表)2、修改版本信息(cDataVersion)为2.0.sp083、删除版本信息表中的所有记录,4、插入一条记录到版本信息表中(cDataVersion为A6 3.0.0000,dUpdateTime为2010-07-13 11:40:07.023,cdefine为空值,cFullDataVersion为A6 3.0.0000.20100716.1430),SQL练习题 一,查询Co_versionInfo(版本信息表),select*from Co_versionInfo,修改版本信息(cDataVersion)为2.0.sp08,Update Co_versionInfo set cDataVersion=2.0.sp08,删除版本信息表中的所有记录,delete from Co_versionInfo,SQL练习题 答案,插入一条记录到版本信息表中(cDataVersion为A6 3.0.0000,dUpdateTime为2010-07-13 11:40:07.023,cdefine为空值,cFullDataVersion为A6 3.0.0000.20100716.1430),insert into Co_versionInfo values(A6 3.0.0000,2010-07-13 11:40:07.023,null,A6 3.0.0000.20100716.1430),SQL练习题 答案,1、查询物品档案中的所有记录(CM_Material)2、查询物品档案表中的记录数(一共有多少行)?3、查询物品档案表中最高进价之和(iMaxPrice)4、查询物品档案表中最高进价的平均值?5、把第四题中的“最高进价”字段换成“物品编码”(cmatcode)可以吗?提示什么?,SQL练习题 二,查询物品档案中的所有记录(CM_Material),select*from CM_Material,查询物品档案表中的记录数(一共有多少行)?,select count(*)from CM_Material,查询物品档案表中最高进价之和(iMaxPrice),select sum(iMaxPrice)from CM_Material,SQL练习题 二,查询物品档案表中最高进价的平均值?,select avg(iMaxPrice)from CM_Material,消息 8117,级别 16,状态 1,第 1 行操作数数据类型 varchar 对于 sum 运算符无效。,把最高进价换成物品编码(cmatcode)可以吗?提示什么?,SQL练习题 二,1、查询8051在物品档案表中的物品编码(cmatcode)为101记录中的cguid列中开始的位置2、查询物品档案表中物品名称(cMatName)列最左边的第一个字符3、查询物品档案表中,每个存货分类(cMatCGUID)下的最高参考成本(iRefPrice),SQL练习题 三,4、针对上面的结果取最高参考成本大于2500元的值5、针对物品档案所有记录的物品编码做升、降排序6、修改物品档案中的最高进价(imaxprice)等于最低售价(ilowprice),SQL练习题 三,查询8051在物品档案表中的物品编码(cmatcode)为101记录中的cguid列中开始的位置,select charindex(8051,cguid)from CM_Material where cmatcode=101,查询物品档案表中物品名称(cMatName)列最左边的一个字符,select left(cMatName,1)from CM_Materia,SQL练习题 三,查询物品档案表中,每个存货分类(cMatCGUID)下的最高参考成本(iRefPrice),select cMatCGUID as 存货分类,Max(iRefPrice)as 最高的参考成本from CM_Materialgroup by cMatCGUID,SQL练习题 三,再针对上面的结果取最高参考成本大于2500元的值,select cMatCGUID as 存货分类,Max(iRefPrice)as 最高的参考成本from CM_Materialgroup by cMatCGUIDhaving Max(iRefPrice)2500,SQL练习题 三,针对物品档案所有记录中的物品编码做升、降排序,select*from CM_Material order by cMatCode asc(默认为升序)select*from CM_Material order by cMatCode desc,修改物品档案中的最高进价(imaxprice)等于最低售价(ilowprice),update CM_Material set imaxprice=ilowprice,SQL练习题 三,1、修改在出入库单子表(ST_StkRecordLine)中对应的主表ID(cHeadGUID)等于,出入库单主表(ST_StkRecord)中单据类型(cBillType)为030的单据的主表ID(cGUID)的单据的iQTY数量等于1002、如何查询是否运行成功了?,SQL练习题 四,3、查询调拨单号(cBillCode)为DB2010060001 的调拨单(ST_StkTrans)对应的其它出库单号(cStkOutID)和其它入库单号(cStkInID)4、根据查询出来的对应出入库单号删除其它出入库单 主表:ST_StkRecord 子表:ST_StkRecordLine5、再清除调拨单上的对应其它出入库单号6、最后按调拨单主表ID号删除该调拨单,SQL练习题 四,修改在出入库单子表(ST_StkRecordLine)中对应的主表ID(cHeadGUID)等于,出入库单主表(ST_StkRecord)中单据类型(cBillType)为030的单据的主表ID(cGUID)的单据的iQTY数量等于100,Update ST_StkRecordLine set iQTY=100 where cHeadGUID in(select cGUIDfrom ST_StkRecord where cBillType=030),SQL练习题 四,如何查询是否运行成功了?,select cHeadGUID,iQTY from st_stkrecordline where cHeadGUID in(select cGUIDfrom ST_StkRecord where cBillType=030),SQL练习题 四,查询调拨单号(cBillCode)为DB2010060001 的调拨单(ST_StkTrans)对应的其它出库单号(cStkOutID)和其它入库单号(cStkInID),select cStkInID,cStkOutID,*from ST_StkTrans where cBillCode=DB2010060001,SQL练习题 四,根据查询出来的对应出入库单号删除其它出入库单 主表:ST_StkRecord子表:ST_StkRecordLine,Delete from st_stkrecord where cguid=138287439892105635Delete from ST_StkRecordLine where cHeadGUID=138287439892105635,SQL练习题 四,再清除调拨单上的对应其它出入库单号,Update ST_StkTrans set cStkInID=null,cStkOutID=null where cBillCode=DB2010060001,SQL练习题 四,最后按调拨单主表ID号删除该调拨单,Delete from ST_StkTranswhere cguid=138287439892105621。Delete from ST_StkTransLinewhere cHeadGUID=138287439892105621,SQL练习题 四,目 录,升级帐套时报“备份ACC_SYS数据库失败”的错误,经检查发现帐套的备份路径中含有汉字或非法字符所致,解决方法:1、请在查询分析器中执行下列语句:Use acc_sys Update backups set filedir=D:AisinoA6backup(将引号中的路径改成希望备份的路径,不能含有汉字或特殊字符)。注意:路径中的文件夹要确实存在.,原材料科目设置了”物品辅助核算”,在做凭证录入原材料科目时系统自动弹出选择核算项目”物品”时:1、辅助核算参照页面左侧只显示一级类别,不显示二级类别。2、有的一级类别下只显示部分二级类别,没有全部显示3、右侧物品栏不显示物品信息。,但实际上物品档案中是有相关物品档案的,让我们通过查询分析器查看一下原因,从跟踪出来的语句中我们发现以下语句:select*from CM_MatClass where iValid=1尤其是下面这一句,出现了五遍以上:select*from CM_MatClass where iStatus=1 andiValid字段和iStatus字段是什么关系呢?,我们手动执行一下,看看结果怎么样?,问题原因:由于物品分类表(cm_matclass)中的iStatus(状态)字段有Null值,所以导致部分物品分类和物品档案无法正常显示。解决方案:修改“iStatus”(状态)的值都等于“ivalid”(是否有效)中的值即可:Update cm_matclass set iStatus=ivalid,库存管理的调拨单修改的时候,客户将生成的其他出库单非正常删除了(原因有很多,如:环境不稳定,断电,非正常关机等),但是其他入库单还在,这个时候想反审核调拨单的时候提示单据已经删除,通过事件探查器,查看跟踪数据,通过对跟踪显示出来的所有语句,我们可以发现已下关键的四行语句:select*from ST_StkTrans where select*from ST_StkRecord where delete from ST_StkRecordLine where delete from ST_StkRecord where,从而引出以下两个最重要的两个表:库存调拨单主表(ST_StkTrans),库存调拨单子表(ST_StkTransLine),第一步:先在调拨单主表(ST_StkTrans)中根据调拨单号(cBillCode)查询该调拨单对应的调拨出入库单ID:select cStkInID,cStkOutID,*from ST_StkTrans where cBillCode=DB2010060006。,调拨入库单,调拨出入库单,第二步:根据调拨出入库单ID(cStkInID,cStkOutID)查看出入库单主表,发现调拨出库单在出入库单主表中都没有,确认已经删除了。,调拨出库单已查询不到,第三步:通过调拨入库单ID(cStkInID)在出入库单主子表中删除该其它入库单记录(切记一定要在主表和子表中都删除!):Delete from st_stkrecord where cguid=133896108563254577。Delete from ST_StkRecordLine where cHeadGUID=133896108563254577。,最后一步:根据调拨单号(cBillCode)在调拨单主表中(ST_StkTrans)清空调拨出入库单ID即可成功取消调拨单的审核:Update ST_StkTrans set cStkInID=null,cStkOutID=null where cBillCode=DB2010060006,Use acc_sys Update backups set filedir=D:AisinoA6backup(将引号中的路径改成希望备份的路径,不能含有汉字或特殊字符)。注意:路径中的文件夹要确实存在.,物品分类表(cm_matclass)中的iStatus(状态)字段有Null值。修改“iStatus”(状态)的值都等于“ivalid”(是否有效)中的值即可:Update cm_matclass set iStatus=ivalid,查询调拨单对应出入库单:select cStkInID,cStkOutID,*from ST_StkTrans where cBillCode=DB2010060006删除调拨入库单:Delete from st_stkrecord where cguid=133896108563254577Delete from ST_StkRecordLine where cHeadGUID=133896108563254577,在调拨单主表中(ST_StkTrans)清空调拨出入库单ID:Update ST_StkTrans set cStkInID=null,cStkOutID=null where cBillCode=DB2010060006,进入领导查询模块,点击仓储中心-物品库存信息后系统提示:“程序发生了未知的错误,我们对此深表歉意,您可以重新登录再试一次或者联系我们的客户服务部门”.,该账套引入到任何电脑都有该提示,其它结点进入都正常.怎么办?,首先:由于该问题引入到所有电脑上都可以重现问题,但在演示账套上却没有重现该问题,所以基本可以确认和后台数据有关。其次:从报错的提示内容上,我们很难看出来问题出现在什么地方,所以我们要从事件探查器入手。让“SQL Server Profiler”为我们解开迷题!,以下是我们跟踪出来的数据declare p1 intset p1=49exec sp_prepexec p1 output,NULL,Nselect distinct iCodeGrade as code,cast(iCodeGrade as char(1)+级 as name from CM_MatClass order by cast(iCodeGrade as char(1)+级 select p1,我们去除没有用的语句,看主干语句:select distinct iCodeGrade as code,cast(iCodeGrade as char(1)+级 as name from CM_MatClass order by cast(iCodeGrade as char(1)+级现在我们在数据库中手动执行该语句,为什么会有空值?,我们手动查看一下CM_MatClass(物品分类表),最终确认是CM_MatClass(物品分类表)中的icodeGrade(级次)字段有空值导致的问题,所以从后台修改数据即可。修改物品分类表中为空的记录:Update CM_MatClass set icodeGrade=2 where icodeGrade is null,用户在库存期初余额时,每个仓库都有货位管理,在录入了对应的货位数量后,做结束初始化的时候还是提示:”没有指定货位”.用户有上千条记录,无法一条条查询是否有未录入货位的记录,怎么办?,首先:我们要先知道库存期初余额保存在什么表中?其次:货位信息又保存在什么表中?最后:这两个表中的关联关系又是什么?,让“SQL Server Profiler”帮我们找到它们!,select p1goexec sp_unprepare 252godeclare p1 intset p1=602exec sp_prepexec p1 output,NULL,NSELECT ST_StkRecordLine.cGUID FROM ST_StkRecord INNER JOIN ST_StkRecordLine ON ST_StkRecord.cGUID=ST_StkRecordLine.cHeadGUID inner join CM_Storehouse on ST_StkRecord.cStoreGUID=CM_Storehouse.cGUID INNER JOIN(SELECT cMatGUID,SUM(iQTY)AS iqty,cStkLineID FROM ST_MatPosition where cStkLineID is not null GROUP BY cStkLineID,cMatGUID)MatPosition ON ST_StkRecordLine.cGUID=MatPosition.cStkLineID AND ST_StkRecordLine.iUnitQTY MatPosition.iqty WHERE(ST_StkRecord.cBillType=030)AND(ST_StkRecord.cBusType=03001)AND(CM_Storehouse.iPositionFlag=1)select p1goexec sp_unprepare 602goexec sp_reset_connection go,内容非常多对吗?我们来简化一下!,SELECT ST_StkRecordLine.cGUID FROM ST_StkRecord INNER JOIN ST_StkRecordLine ON ST_StkRecord.cGUID=ST_StkRecordLine.cHeadGUID inner join CM_Storehouse on ST_StkRecord.cStoreGUID=CM_Storehouse.cGUID INNER JOIN(SELECT cMatGUID,SUM(iQTY)AS iqty,cStkLineID FROM ST_MatPosition,从下面的这部分SQL语句中我们能得到什么?,出入库单主表(ST_StkRecord),出入库单子表(ST_StkRecordLine),物品货位表(ST_MatPosition),where cStkLineID is not null GROUP BY cStkLineID,cMatGUID)MatPosition ON ST_StkRecordLine.cGUID=MatPosition.cStkLineID AND ST_StkRecordLine.iUnitQTY MatPosition.iqty WHERE(ST_StkRecord.cBillType=030)AND(ST_StkRecord.cBusType=03001)AND(CM_Storehouse.iPositionFlag=1),从下面的这部分SQL语句中我们又能得到什么?,对比出入库单子表(ST_StkRecordLine)与物品货位表(ST_MatPosition)的数量差异,通过SQL语句,在出入库主子表,物品货位表中查询出入库主子表ID相同,但数量不同的记录:select a.cStoreGUID,b.cMatGUID from ST_StkRecord a,ST_StkRecordLine b,ST_MatPosition c where a.cGUID=cHeadGUIDand b.iunitqty c.iqtyand b.cguid=c.cstklineidand a.cguid=c.cstkguid,查询出物品ID和仓库ID后,再按这两项查询出物品名称和仓库名称:select cMatName,cMatCode,*from CM_Material where cGUID=879311389325110568select cCode,cName,*from CM_Storehouse where cGUID=879311389325110554最后按该物品名称在库存期初余额界面,找到该记录查看并补录货位即可,为什么?,查询现存量及收发存汇总表时发现相同物品编码的物品显示了两行数据,并且两行的计量单位不同,账套没有启用辅助计量。,根据上图我们可以确认是由于库存的期初与本期发生记录的计量单位不符导致的上述问题。与服务单位确认”库存期初余额“是通过”Excel“引入,而不是手工录入的。引入的库存期初记录的”主计量单位“手工都录入的“个”,与实际物品档案中的主计量单位不同,通过修改后台数据:过滤“出入库单子表”(ST_StkRecordLine)与“物品表”(CM_Material),两表中物品ID相同但主计量单位不同的所有出入库单子表的记录。让这些记录的主计量单位自动等于物品表中该物品对应的主计量单位即可解决问题,Update ST_StkRecordLine set ST_StkRecordLine.cMUnitGUID=CM_Material.cUnitGUIDfrom CM_Material Where ST_StkRecordLine.cMatGUID=CM_Material.cGUIDand ST_StkRecordLine.cMUnitGUIDCM_Material.cUnitGUID,用户使用A61.0版本软件,升级到2.0sp08补丁后发现所有材料出库单都不能反审核及修改单据,系统提示“没有设置当前年月”。,系统提示让人很费解,对吗?我们通过事件探查器来跟踪一下!,select cGUID from CO_SysInit where cSubSysCode=STSELECT iInitState,iInitYear,iInitMonth,REPLACE(STR(iInitYear,4)+STR(iInitMonth,2),0)AS initPeriod,iYear,iMonth,REPLACE(STR(iYear,4)+STR(iMonth,2),0)AS curPeriod FROM CO_SysInit WHERE cSubSysCode=ST,为什么跟踪出来的系统标识是“ST”库存管理?,经跟踪发现弃审材料出库单时系统调取的cSysType(系统标识)为ST(库存管理)。但是通过后面查询:Select*from CO_SysInit显示只启用了IA(存货核算)系统,通过后台SQL语句查询:Select cSysType,cBillType,*from ST_StkRecord where cBillType=070 and cSysType=ST 查询出入库单主表中cSysType(系统标识)为”ST“(库存管理)的cBillType(单据类型)为070(材料出库单),最终确认是由于材料出库单中的系统标识不正确,导致的不能取消审核。修改单据中的系统标识为正确的IA(系统管理)即可:Update ST_Stkrecord set cSysType=IA where ST_Stkrecord.cBillType=070,CM_MatClass(物品分类表)中的icodeGrade(级次)字段有空值修改物品分类表中为空的记录:Update CM_MatClass set icodeGrade=2 where icodeGrade is null,出入库单主子表(ST_StkRecord,ST_StkRecordLine)物品货位表(ST_MatPosition)Select a.cStoreGUID,b.cMatGUID from ST_StkRecord a,ST_StkRecordLine b,ST_MatPosition c where a.cGUID=cHeadGUIDand b.iunitqty c.iqtyand b.cguid=c.cstklineidand a.cguid=c.cstkguid,“出入库单子表”(ST_StkRecordLine)与“物品表”(CM_Material),两表中物品ID相同但主计量单位不同的所有出入库单子表的记录。Update ST_StkRecordLine set ST_StkRecordLine.cMUnitGUID=CM_Material.cUnitGUIDfrom CM_Material Where ST_StkRecordLine.cMatGUID=CM_Material.cGUIDand ST_StkRecordLine.cMUnitGUIDCM_Material.cUnitGUID,启用了IA(存货核算)系统:Select*from CO_SysInit修改材料出库单上的系统标识:Update ST_Stkrecord set cSysType=IA where ST_Stkrecord.cBillType=070,设置了”主辅计量单位”并且”换算率不为1”的存货在库存收发存汇总表中显示”主辅计量单位结存数量”相同.,该问题经检查是由于期初与本期发生单据中的计量单位不符造成的.期初取的是主计量单位,本期发生取的是库存计量单位.怀疑用户在物品档案已使用的情况下手工又修改了库存计量单位导致。,第一步:刷新所有期初余额中的计量单位:Update ST_StkRecordLine set ST_StkRecordLine.cUnitGUID=CM_Material.cStkUnitIDfrom CM_Material Where ST_StkRecordLine.cMatGUID=CM_Material.cGUIDand ST_StkRecordLine.cUnitGUIDCM_Material.cStkUnitID,第二步:按计量单位刷新换算率:Update ST_StkRecordLine set ST_StkRecordLine.iChangeRate=CM_Unit.iChangeRateFrom CM_Unit Where ST_StkRecordLine.cunitguid=CM_Unit.cGUIDand ST_StkRecordLine.iChangeRateCM_Unit.iChangeRate,第三步:接刷新后的换算率重算主计量单位数量:Update st_stkrecordline set iUnitQTY=ichangerate*iqty,A6 2.0财务基础版打sp07补丁后数据库升级报“执行升级脚本出错:SQ

    注意事项

    本文(2010年运维中级认证-数据库运维中级培训.ppt)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开