代码改变世界

SharePoint 2010 数据库xxx的事务日志已满

2016-12-26 15:18  四毛的家  阅读(749)  评论(0编辑  收藏  举报

接到领导安排,说客户有问题 请求协助解决,对方给我展示的错误日志,如下:

数据库'WSS_Content_xxxx'的事务日志已满.若要查明无法重用日志中的空间的原因,请参阅sy.databases中的log_reuse_wait_dec列

导致的结果是用户再也无法上传文件到文档库了。

看来一下对应的数据库文件,日志文件大的惊人,已经超过1.8T

作为老司机,理论上解决这样的问题,就是收缩数据库。可是咱是个理论多于实践的老司机,虽然咱有妙方,但也不敢太大意,

毕竟是人家产品环境,贸贸然的直接收缩,万一出问题这个后果咱可担不起~

安全起见 ,建议客户先备份数据库,可是竟然不让备份 ,原因还是因为日志满了。

好吧,逼哥硬上了。执行如下sql命令:
USE WSS_Content_xxxx;

GO

-- 将数据库设置为简单恢复模式,

ALTER DATABASE WSS_Content_xxxx

SET RECOVERY SIMPLE;

GO

--压缩为100M

DBCC SHRINKFILE (WSS_Content_xxxx _log, 100);

GO

-- 恢复

ALTER DATABASE WSS_Content_xxxx

SET RECOVERY FULL;

GO

日志文件一下降到100M,经过初步测试,SharePoint一切正常!整个世界安静了~

(很多人可能会问,解决个问题和世界安静有啥关系?我想说,大概你是没经历过产品出问题时,邮件,电话,甚至QQ不停的有客户反馈的事情吧)

 

如果你对本文有任何问题或者希望可以和我直接对话,可以加我的QQ群:331434257