清理SharePoint 2010的SQL Server 2008 R2日志数据库的方法
最近发现Sharepoint的数据库磁盘经常满,导致无法保存数据,经检查发现数据磁盘的所有日志文件远远大于数据文件,因此需要收缩日志文件,一开始利用图形化的收缩文件方式,只有收缩数据文件的大小,对于日志文件并不起作用:
这个方式只有数据库事务是简单模式下起作用,如果是完全模式不起任何作用,也就是收缩不了日志文件,检查数据库的事务模式,可以通过以下SQL语句:
SELECT NAME, recovery_model_desc FROM sys.databases
经检查发现sharepoint的状态数据库日志文件很大,因此缩减状态数据库日志文件到50M,具体操作如下:
ALTER DATABASE StateService_fe3a026d155a4852b906c8f3735cdcd3 SET Recovery simple --设置简单恢复模式 go use StateService_fe3a026d155a4852b906c8f3735cdcd3 go DBCC SHRINKFILE(StateService_fe3a026d155a4852b906c8f3735cdcd3_log,50) go
ALTER DATABASE StateService_fe3a026d155a4852b906c8f3735cdcd3
SET RECOVERY FULL; --恢复为原模式
GO
最终实现的效果,如下图: