|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册账号
×
数据库导表-导前检查
一、空账套
1、检查发送过来的空账是否新建立的,必须使用新建的账套
select * from GL_Doc
select * from GL_Entry
select * from GL_Journal
select * from ST_RDRecord
select * from ST_RDRecord_b
---语句作用检查账套是否存在凭证,出入库单据记录,如果存在代表不是空账套
2、检查空账套的软件版本,补丁版本,数据库版本与损坏账套是否一致
2.1、查看AdditionalXml.xml文件
具体参考文档【如何查看备份账套对应的T+软件版本】:
https://www.chanjetvip.com/doc/cate-68/doc-33672.html
2.2、 账套数据恢复到数据库中后,执行语句
select * from sm_upgrade order by version,orderno
如以下截图:表示账套已更新到了233号补丁,表中字段status=1 表示脚本执行成功。
2.3、在账套数据库中,执行语句:
select value from EAP_AccInformation where Name='UpgradeFinishFlag'
将查询出的结果,复制到网址:https://www.bejson.com/enc/base64/,进行解密,如下图:
表示账套已更新到了233号补丁
注意:如果是发送过来的损坏账套及空账套是物理文件,无法通过查看AdditionalXml.xml文件判断其版本,补丁号。 需按 2.2、2.3步骤所述方法查看。
二、损坏账套
1、检查损坏账套是否曾经做过导表,执行如下语句
select * from EAP_CJT_DefaultValue
select * from EAP_CJT_allindexs
select * from EAP_CJT_ALLCONSTRAINT
select * from checkdate
如果曾经做过导表,能够查询出结果,如果没做过导表,会提示对象名'XXXX' 无效
2、检查表中是否有建触发器,执行如下语句,如果有建触发器,执行会有结果
select triggers.name as [触发器],tables.name as [表名],triggers.is_disabled as [是否禁用],
triggers.is_instead_of_trigger AS [触发器类型],
case when triggers.is_instead_of_trigger = 1 then 'INSTEAD OF'
when triggers.is_instead_of_trigger = 0 then 'AFTER'
else null
end as [触发器类型描述]
from sys.triggers triggers
inner join sys.tables tables on triggers.parent_id = tables.object_id
where triggers.type ='TR'
order by triggers.create_date
3、检查损坏账套真实的软件版本,补丁版本
3.1、 账套数据恢复到数据库中后,执行语句
select * from sm_upgrade order by version,orderno
如以下截图:表示账套已更新到了233号补丁,表中字段status=1 表示脚本执行成功。
3.2、在账套数据库中,执行语句:
select value from EAP_AccInformation where Name='UpgradeFinishFlag'
将查询出的结果,复制到网址:https://www.bejson.com/enc/base64/,进行解密,如下图:
表示账套已更新到了233号补丁 |
|