清理SharePoint 2010的SQL Server 2008 R2日志数据库的方法!

//来源:http://www.cnblogs.com/nbpowerboy/p/3380079.html

公司用SharePoint 2010已有三年多的时间了,上BPM项目也有2年多的时间,之前供应商的部署SharePoint数据库都在一个物理盘,数据库文件与日志文件没有进行分开存放到不同的物理磁盘上,最近发现Sharepoint的数据库磁盘经常满,导致无法保存数据,经检查发现数据磁盘的所有日志文件占了800多个G,总共磁盘空间也就0.99T,也就是日志文件远远大于数据文件,因此需要收缩日志文件,一开始利用图形化的收缩文件方式,只有收缩数据文件的大小,对于日志文件并不起作用:

清理SharePoint 2010的SQL Server 2008 R2日志数据库的方法!

这个方式只有数据库事务是简单模式下起作用,如果是完全模式不起任何作用,也就是收缩不了日志文件,检查数据库的事务模式,可以通过以下SQL语句:

SELECT NAME, recovery_model_desc FROM sys.databases

清理SharePoint 2010的SQL Server 2008 R2日志数据库的方法!

经检查发现sharepoint的状态数据库日志文件很大,有78G,因此缩减状态数据库日志文件到500M,具体操作如下:

ALTER DATABASE StateService_fe3a026d155a4852b906c8f3735cdcd3 SET Recovery simple
go
use StateService_fe3a026d155a4852b906c8f3735cdcd3
go
DBCC SHRINKFILE(StateService_fe3a026d155a4852b906c8f3735cdcd3_log,500)
go

最终实现的效果,如下图:

清理SharePoint 2010的SQL Server 2008 R2日志数据库的方法!

上一篇:为什么要同时重写equals和hashCode?这个经典面试题你会答吗?


下一篇:CF #93 div1 B. Password KMP/Z