金蝶云星空数据中心结转问题指导(持续更新)

问题1、结转之后的数据库空间没有变化或者变化不明显。
结转主要是执行数据库清理语句,数据量减少后数据库体现为可用空间增多,大小不会自动变小,需要通过数据库的收缩功能将可用空间释放。
如果结转之后数据库总大小减去可用大小依然很大,可以通过查看数据库报表-【按排在前面的表的磁盘使用情况】查看剩余的数据分布。具体查看方式如下:

可能的原因:
(1)、格式为表名+日期的备份表,多数为后台更新数据库的时候做的备份,由于结转前已经备份了完整的数据库,这列表可以直接删除掉
(2)、MRP运算相关的表,成本计算相关表,可参考帖子清理
https://wenku.my7c.com/article/163073?productLineId=1&isKnowledge=2
问题2、结转工具运行过程中出现超时报错“已中止事务”

处理方案如下:
2.1、判断是普通脚本还是删除脚本,报错的sql 中出现类似下面格式sql 样式,就是删除脚本:
delete from 表名 where fid in (select fid from t_deletetemp)
2.2、如果是普通脚本的话,直接将报错中涉及的脚本复制到ssms上面执行(注意选择正确的数据库实体)
2.3、如果是删除脚步的话,将报错中涉及的脚本复制到ssms,然后加以改造。
具体改造方法如下:
(1)、执行下面sql,复制查询结果中FTransferSQL的文本
select * from T_Bas_TransferSQL where FScriptOrder in (select max(FScriptOrder) from T_Bas_TransferSQL where FScriptOrder< (select FScriptOrder from T_Bas_InitStep) )
(2)找到(1)复制的文本下图框出来的sql
insert into t_bas_deletetablelog(fformid ,ftablename ,fprimarykey) values('STK_INSTOCK','t_STK_InStock_past','FID')Vales子句中最后两部分't_STK_InStock_past','FID'就是我们需要找到的表名和主键,由于报错的单据不同,这里的值不同,'t_STK_InStock_past','FID'只是举例。
(3)执行下面sql,复制查询结果中FTransferSQL的文本
select * from T_Bas_TransferSQL where FScriptOrder in (select FScriptOrder from T_Bas_InitStep )
将复制的sql中 (select fid from t_deletetemp)替换为 (select 主键f
金蝶云星空数据中心结转问题指导(持续更新)
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



