转载 如何判断SharePoint Config DB 哪个表所占用的Size以及解决方案

转载原地址: http://blog.csdn.net/shelleyliu0415/article/details/50685016

 

问题描述:近期SharePoint论坛中有帖子说:SharePoint2013运营一段时间后,SharePoint Config DB所占用的存储空间特别大,mdf文件所占用的空间为100GB,想寻求一个解决方案。

 

当我看到这个帖子的时候,第一个反应就是很诧异,Config DB又不是ContentDB,怎会占用那么多存储空间呢?在好奇心的驱使下也想看看具体reason,究竟是ConfigDB中的哪个表占用了这么多空间,于是Bing下查找了下如何查看DB表磁盘使用空间的SQL语句,在我的测试环境下运行了一下,果然看到了效果,两个测试VM,均显示同样的结果,Timerjob history这个表惹的祸。

 

结果可见:

 

 

论坛的好心人又share了另一个查询方式,SQLServer只要是08 以上版本,可以直接在SQL里查询,简单直观,操作如下:

 

Management Studio中选中对应的数据库,鼠标右键->Reports->Standard Reports->Disk Usage By Table直接生产直观的report来看具体表占用的情况,结果如下图所示,也可以锁定是Timer Job History这个表所使用空间比较大。

 

 

那么我们找到了原因,如何来解决呢?霖雨提供的解决方案甚好,直接在SharePoint管理中心的Monitoring->ReviewJob Definition里找到Delete Timer Job History,直接运行即可,主要是从Timer Job History删除旧的entries,如下图所示:

 

 

除此之外,还可以通过PowerShell去删除,具体命令如下:

 

Get-SPTimerJob | where { $_.name -like *<your search criteria>* } |ft id,name

$job =Get-SPTimerJob -id <GUID>

$job.Delete()

 

比如计划删除Profile相关的Timer Job,那么如下所示:

 

Get-SPTimerJob  | Sort-Objectname | where { $_.name -like *Profile* } |ft id,name

 

 

想删除哪个Timer Job,就记录好哪个GUID$job =Get-SPTimerJob -id b92850fa-abb6-4d3e-a07b-27bd25e7f863

 

 

$job.Delete()

 

posted on 2016-03-03 09:35  新西兰程序员  阅读(184)  评论(0)    收藏  举报