Found SharePoint content databases are growing even when no content was added from the user side. I was analyzing SharePoint Database growth, went ahead, and generated disk space report from SQL Server Management Studio (Right-click the database, choose Reports >> Standard Reports >> Disk Usage by Table) which gave me the clear picture: AuditData table was growing rapidly and occupying more disk space.
This is because the auditing feature is turned ON for several Months and Audit logs are stored in the AuditData table of the content database. The auditing feature is great, but it can take so much disk space in the long run, and we definitely want to put some cap to preserve system resources, especially database disk space.
SharePoint 2010 provides the interface to specify the number of days to retain audit logs and also provides an option to export the audit logs before truncate.
So, we can adjust the settings to export and clear the audit logs in an interval.
Delete All Audit Logs using PowerShell
So, You noticed the logs are filling the disk space and want to delete all the audit logs, isn’t it? No issues, Let’s call PowerShell to rescue. Let’s delete all audit entries that happened before 30 days.
$site = Get-SPSite -Identity http://sharepoint.company.com #To Get Yesterday $date = Get-Date $date = $date.AddDays(-30) #Delete Audit logs $site.Audit.DeleteEntries($date)
How to trim the audit log in SharePoint?
In MOSS 2007 (after sp2), We have to manually do this trimming with: STSADM -o trimaudtilog.
After executing the above stsadm command, shrink the database manually to regain the disk space.
stsadm -o trimauditlog –enddate 20120101 –databasename WSS_Content_Func_Finance
STSADM -o TrimAuditLog Reference
The above method of trimming audit log doesn’t provide any way to export the audit log. So here is the workaround, Object model code which exports the audit logs programmatically and deletes!