金蝶云星空---SQLserver数据中心实体过大问题分析及解决方案

问题:软件使用一段时间,数据库实体增到100G,如何优化
1、首先定位是什么文件占用的空间过大,是数据库日志还是数据。
登录数据库管理器之后找到数据库实体文件路径存放的位置


打开数据库存放路径----查看数据库大小 。如下图日志文件过大


A、日志文件过大的优化方法
第一步:检查数据库的恢复模式,数据库实体名称右键-----属性----选项----恢复默认---简单


第二步:数据库日志收缩:


找到文件类型---切换到 日志。 可以看到可用空间情况----收缩操作选择释放未使用的空间。


B、数据库数据 MDF文件过大 ---清理系统临时表和非业务数据表
b.1通过数据库的报表分析表磁盘占用情况分析
右键----属性---报表----标准报表----按排在前面的表的磁盘使用情况




根据您统计出来的结果进行信息分析,常见的几个大表说明
1、T_BAS_OPRATELOG及T_BAS_OPRATELOGBK---日志表
上机操作日志表,后者为日志归档表,记录各用户在Cloud系统中的所做的业务操作,可使用具有管理员权限的用户进入上机操作日志查看具体信息
2、T_BAS_ATTACHMENT----附件表
,如果单据附件存储选择在数据库中则此表数据会逐渐增长,建议使用文件服务器,将附件存储在文件服务器的目录下
3、T_BF_INSTANCESNAP----业务流程快照表
业务领域配置的反写规则很多,反写快照表,需要把每个反写规则的反写情况都记录下来,如果企业实际场景中这方面的业务量较多,则该表占用磁盘空间会比较大,分为自动和手动两种归档方法,具体如下:
4、其他表
1.1 核算及分配过程
不用看历史期间的核算过程,分配过程。这些表的数据都可以清理:
T_CB_COSTALLOPROREC_H
T_CB_COSTALLOPRORECEXP_H
T_CB_COSTALLOPROSEND_H
T_CB_COSTALLOPROSENDEXP_H
T_CB_EXPALLOPROCESSREC_H
T_HS_EXPENSESPROCESS_H
T_CB_EXPALLOPROCESSSEND_H
T_HS_ACCTGPROCESSENTRY_H-----核算过程明细历史表
T_BF_INSTANCESNAP-----业务流程快照表。
T_HS-EXPENSESPROCESS_H------核算日志信息
T_PLN_MTRLDSDETAILDATA------用来记录MRP运行时物料的明细数据
T_WF_TESTPROCINST-----工作流测试表
具体说明和操作参考:
参考吧唧吧唧大神:金蝶云星空数据库大表清理:https://wenku.my7c.com/article/163073
b.2、临时表清理,历史业务监控消息清理
长时间未做优化,临时表占用空间过大。
第一种方式:推荐方式使用数据瘦身功能。
数据瘦身功能首次订阅,administrator登录html5 页面点击添加


双击数据瘦身功能自动统计出可清理的空间。

数据瘦身功能详情参考吧唧吧唧:https://wenku.my7c.com/article/8776。
第二种方法方式手工清理----参考软件优化指南,软件安装包help文件夹下
--如果临时表很多,想统计下临时表占用空间,可使用下面的语句进行统计分析:
-- 查看系统所有临时表占用的总空间
select cast(sum(a.total_pages)*8/1024 as varchar)+' MB' total
from sys.partitions p join sys.allocation_units a on p.partition_id = a.container_id
join sys.tables it on p.object_id = it.object_id
where it.name like 'T
金蝶云星空---SQLserver数据中心实体过大问题分析及解决方案
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



