Problem
You see the following event appear in a SharePoint 2013 web front server application log:
This event appears in the application at about 5 minute intervals. You then check the ULS logs and find the following:
Solution
You see the following event appear in a SharePoint 2013 web front server application log:
Log Name: Application Source: Microsoft-SharePoint Products-SharePoint Foundation Date: [Date/Time] Event ID: 8319 Task Category: Usage Infrastructure Level: Critical Keywords: User: [Farm Service Account] Computer: [A farm web front end server] Description: Table SPDistributedCacheCalls_Partition9 has 461774848 bytes that has exceeded the max bytes 460175067 Event Xml: ...
This event appears in the application at about 5 minute intervals. You then check the ULS logs and find the following:
also appearing at about five minute intervals.Table SPDistributedCacheCalls_Partition9 has 461774848 bytes that has exceeded the max bytes 460175067
Solution
- Update usage events that you want to monitor
- Login to a farm server using the SharePoint Setup User Administrator account.
- Launch Central Administration.
- Go: Monitoring > Reporting > Configure usage and health data collection.
- Update the usage events you want to monitor. Unfortunately, there is presently (from my searching) no Microsoft article that clearly describes these events.
- Click OK. The changes you make here will not be implemented immediately, as they are scheduled as jobs.
- Update usage event logging retention periods
- While still logged into the server, launch a SharePoint Management Shell with elevated privileges.
- Execute the command, Get-SPUsageDefinition. This will list all of the usage events, whether they are being logged and their retention periods.
- Execute this command to set the retention period for a single definition:
Set-SPUsageDefinition -Identity “[name of definition]” -DaysRetained [number of days]
If you enter the display name of the usage definition, use quotes. If you use its ID, no quotes are necessary. For example, changing the retention period for the Task Use definition: - Execute this command to set the retention period for all usage definitions at the same time:
Get-SPUsageDefinition | ForEach-Object {Set-SPUsageDefinition -Identity $_.name -DaysRetained [number of days]}
For example, to change them all to 7 days: - Force changes to be implemented promptly
- Back in Central Administration, go: Monitoring > Reporting > Configure usage and health data collection.
- Scoll down a bit and look for Log Collection Schedule.
- Click this link.
- Click on a job definition listed here, then click on its Run Now button. Repeat this for the second job definition. Even this will not put your changes into affect immediately, but will force the job to run after the current job is completed.
- Configure Usage and Health Data Collection SharePoint 2013: good article by Destin Joy in C# Corner.
- Configure usage and health data collection in SharePoint 2013: this is the Microsoft TechNet article on this subject.
- How to reduce the size of logging database by purging old data from it: very good article to help guide you in troubleshooting full logging databases.
- SharePoint 2013: SQL Partition Exceeded Max Bytes: this is the posting that originally helped me to get an understanding of the issue.
- How to reduce the size of logging database and how to purge the old data from Logging Database: this posting presents a helpful PowerShell method of setting all usage definitions at the same time.
- When I experienced this error for my production farm (400 users), it was sufficient for me to configure usage definitions like so in order to resolve this error:
No comments:
Post a Comment