故障情况:我们的MTS物料跟踪系统传送数据总是超时报警,对于搞自动化的绝对是个空门,SQL根本就没玩过,故障也无从下手,而且故障也是神精病一样,持续了5年的这样的现象,正因为我不懂也不愿意接手,所以MTS属于无人管和状态,可是有故障还是影响生产的。
处理过程:
我偶尔打开SERVER管理器发现有报警日志,如图:

从英文意思差不多是LOG日志满了:(the transaction log for database 'ACTM_TRACK' is full. To find out why space in the log cannot be reused, see the log_resue_wait_desc column in sys. databases)
看到此消息我就到网上搜索如何清除无用的数据库日志文件。
我找到这样一个方法:
(设置检查点,自动截断日志
一般情况下,SQL数据库的收缩并不能很大程度上减小数据库大小,其主要作用是收缩日志大小,应当定期进行此操作以免数据库日志过大
1、设置数据库模式为简单模式:打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server-->SQL Server组-->双击打开你的服务器-->双击打开数据库目录-->选择你的数据库名称(如用户数据库cwbase1)-->然后点击右键选择属性-->选择选项-->在故障还原的模式中选择“简单”,然后按确定保存
2、在当前数据库上点右键,看所有任务中的收缩数据库,一般里面的默认设置不用调整,直接点确定
3、收缩数据库完成后,建议将您的数据库属性重新设置为标准模式,操作方法同第一点,因为日志在一些异常情况下往往是恢复数据库的重要依据 )
开始我先做了shrink结果就出错了:

差不多意思是没有空间进行shrink.
看到这个我又仔细看了网上的资料一步一步做:
第一、右键点击用户数据库ACTM_track的属性

第二、改option的Recovery model 的FULL为SIMPLE后点OK

第三、执行shrink

第四、进行shrink收缩LOG日志,也可是DATABASE

这一次没出现开始做时的没有空间的现象
第五、最后还要恢复SIMPLE为FULL。
做完以上五步后我就去进行物料数据释放,结果是可以了,故障前是进行不了物料数据释放的。
对于一个MTS瞎子来说困难重重呀!有喜欢此贴的就给个赞吧,分享在此给有帮助的人。