用友T3本地服务器磁盘满了,最直接有效的办法是先清理系统临时文件、数据库日志和旧备份释放空间,再通过数据库日志收缩和转移历史数据根治问题,如果硬盘空间实在无法释放,就要考虑迁移数据或更换更大容量硬盘。
先说个真实场景:早上开机,账套打不开了
很多会计朋友都遇到过这种情况:早上到公司,打开用友T3,系统提示”账套文件无法打开”或者”磁盘空间不足”,紧接着就是”本地服务器已满”,这时候别慌,问题不是软件坏了,是你的电脑硬盘真的装不下了,用友T3的数据文件、日志文件、备份文件长期堆积,会把C盘或数据盘塞得满满的,你可能会问,我天天都用,也没存什么大文件啊?下面我带你一步步排查和解决。
判断:你的”满了”是哪种情况
打开”我的电脑”,看看C盘和安装用友T3的磁盘分区,剩余空间是不是变成了红色,如果剩余空间不足1GB,甚至只有几百MB,那基本就是它了,但”满了”分两种:一种是系统盘满了,导致数据库服务起不来;另一种是存储数据的磁盘满了,导致无法写入数据,大多数中小企业用友T3装在C盘,所以问题往往集中在C盘,你可以右键点击磁盘图标,选择”属性”,直观看到已用空间和可用空间。
第一步:先给服务器瘦身,清理垃圾文件
清空系统临时文件夹
用友T3在运行时会产生大量临时文件,比如报表临时文件、打印临时文件、异常中断会话残留文件,这些文件默认存放在C:WindowsTemp和C:Users当前用户名AppDataLocalTemp里,操作办法:直接进这两个文件夹,全选删除,提示占用的就跳过,不影响系统运行。
清理用友T3自身的缓存目录
用友T3的缓存文件通常放在安装目录下的UFSMARTTMP文件夹里(默认路径是C:UFSMARTTMP),把里面的文件全部删掉,这个文件夹里的文件是客户端登录时生成的临时缓存,删掉后下次登录会自动重新生成,但不会影响历史数据安全。
清理Windows更新和系统还原点
Windows系统更新补丁的备份文件,动辄好几个GB,压缩包残留在C:WindowsSoftwareDistributionDownload目录下,可以手动清空,系统还原点也占空间,右键”我的电脑”→”属性”→”系统保护”,把C盘的还原点设置调低,或者删除旧的还原点,只保留最新一个。
第二步:处理用友T3账套的自动备份文件
这是很多人忽略的重灾区,你肯定在T3的系统管理里设置过自动备份计划吧?比如每天中午12点备份一次,这些备份文件是压缩包格式(.lst和.rar或.ba_文件),默认存放路径是你在备份计划里自定义的,很多人的习惯是直接存在C盘或桌面,时间一长,日积月累,几十个备份文件就是好几个GB。
处理方法:
- 打开系统管理,用Admin身份登录,点击”系统”→”设置备份计划”,查看你的备份路径具体在哪里。
- 找到备份文件夹,把超过两个月的备份文件复制到一个移动硬盘或另一台电脑上留存,然后把本地的删掉。
- 把备份计划里的存放路径改到D盘或E盘(如果有的话),避免C盘再次被撑爆。
第三步:收缩数据库日志文件(核心操作)
这一步是专业关键点,用友T3用的是SQL Server数据库,数据库的日志文件会随着日常操作(增删改查)无限膨胀,但是在数据库内部不会自动收缩,一个账套的数据量可能只有几百MB,但日志文件能膨胀到好几个GB,所以你需要手动收缩它。
操作步骤(以SQL Server 2000/2005/2008为例,T3最常见的是SQL2000和SQL2005):
- 打开”企业管理器”或”SQL Server Management Studio”。
- 展开”数据库”节点,找到你的账套对应的数据库名称(通常是以ZT开头加账套号,比如ZT001)。
- 右键点击该数据库,选择”任务”→”收缩”→”数据库”,点击”确定”,系统会自动执行收缩操作。
- 如果一次收缩不彻底,重复收缩两次,收缩完成后,检查C盘剩余空间,通常能释放出几个GB。
- 如果你对SQL语句比较熟悉,也可以用这条命令(在查询分析器里执行):
DBCC SHRINKDATABASE (ZT001)
(注意账套名要替换成你自己的)。
行业共识认为,SQL Server日志文件膨胀是导致用友T3本地服务器存储空间告急的最常见技术原因,占比远高于数据文件本身的增长。
第四步:把数据库文件迁移到其他磁盘
如果上面的步骤做完了,C盘空间还是紧张,尤其是公司业务量大、年结多年数据都堆在本地服务器上时,你就得考虑把数据库文件整体搬家。
具体做法:
- 先停止SQL Server服务,把数据库文件(.mdf)和日志文件(.ldf)复制到D盘的一个新文件夹下,比如D:UFSMART_DATA。
- 重新启动SQL Server服务,在管理工具中右键点击该数据库,选择”分离”。
- 再右键点击”数据库”根节点,选择”附加”,指向D盘那个文件夹里的.ldf或.mdf文件,完成附加。
- 附加完成后,账套数据正常显示,C盘空间就彻底释放出来了。
如果没有D盘,只有一块硬盘且只有一个C分区,那这个方案就做不了,你需要考虑下面的方案。
第五步:换一个更大容量的硬盘,或者加装新硬盘
这是根治性方案,一个比较大的工程,现在固态硬盘价格不算贵,一块480GB的SATA固态硬盘,市面上几百元就能买到,如果你不太熟悉硬件操作,直接在京东下单后找朋友或电脑店师傅帮忙装一下,或者直接尝试”磁盘克隆”软件把旧盘复制到新盘上,再把新盘设为第一启动盘。
加装新硬盘的思路: 如果主板有第二个硬盘位(SATA接口或M.2接口),优先加一块新硬盘做数据盘,把用友T3的数据库文件和备份文件都放在新盘上,C盘只保留系统、软件程序和日常办公文件,这样风险最小,操作也简单。
第六步:长期预防,别让”满了”再次发生
建立备份外置规则
不要让备份文件留在本地服务器上,无条件地堆积,你可以把备份计划设置成每天备份后,再用任务计划程序把备份文件自动移动到局域网内的另一台电脑(比如领导或行政的一台不太关机的电脑共享文件夹),这一步需要点基本功,但一劳永逸。
定期执行数据库收缩
把上面第三步提到的”DBCC SHRINKDATABASE”语句,用SQL Server的作业功能做成一个每月自动执行的计划,每月自动帮你收缩一次日志,释放膨胀空间。
关注账套年度数据量
用友T3每年年底结账后,会把下一年度建成新的年度账,你可以把已经结账并且很少查询的旧年度数据(比如5年前的年度账)从T3中做”账套备份”并移出本地,待需要查旧账时再用备份引入,这相当于给服务器做了一次深度减负。
关于用友T3本地服务器满了,大家还会问的问题
问:用友T3的数据库日志文件为什么比数据文件还大?
答:SQL Server的日志文件记录着数据库的每一次操作细节,长时间运行下,日志增长量非常大,而且默认配置下,只要不主动收缩,它不会自动回缩,打个比方,数据文件像是一本书的内容,日志文件像是书的草稿纸,草稿纸往往会比正稿厚很多,处理方式就是对数据库执行日志收缩操作,具体步骤见上文第三步。
问:为什么删除了自动备份文件,空间没节省多少?
答:如果你删除了备份文件夹里的文件,但磁盘剩余空间没有显著增加,可能是备份文件原本不在C盘,或者有SQL Server的日志文件仍在占大量空间,删除备份文件只是清除了数据压缩包,真正占空间大的往往是未收缩的日志文件,你应该先做数据库日志收缩,再来检查磁盘空间变化。
问:C盘满了会影响用友T3的运行速度吗?
答:会明显影响,当C盘剩余空间极小(小于几个GB)时,SQL Server数据库的读写性能会下降,因为系统需要频繁在内存和磁盘之间交换数据,缺乏可用空间时会导致程序响应变慢甚至报错”无法分配空间”,建议T3所在磁盘的剩余可用空间维持在至少10GB以上,这个阈值能保证你的软件顺畅运行。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/590842.html




