小議:如何判斷SharePoint Config DB 哪個表所佔用的Size以及解決方案

博客地址:http://blog.csdn.net/shelleyliu0415

 

問題描述:近期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()

 


 

今天有時間整理出來,分享給大家,供日後有相同問題的夥伴們參考!謝謝閱讀!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章