I've been fighting with the analytics portion of our SharePoint 2013 Standard farm since day one. I've made sure that the relevant account have access to the LOG folder, and that they are correctly mapped to the SQL LOGGING database. If I run a full crawl/data import I can see the USAGE files being correctly generated in their respective folders. I can also browse the SQL LOGGING database and I can see that all the usage data is being imported successfully. Event logs are totally clean.

If I run health check reports from CA, they are fully populated with data.

However, if I run a usage report from the user-side, they are always devoid of any data, with all fields showing 0 usage. I noticed that if I run a Usage Data Process job, it always completes immediately (~1 second). Anyone know what the deal is?

Edit I've have also noticed that this issue seems isolated to usage reports only. If I run and Search history reports, they display user search data.

2 Answers 2


The cause of my woes was the lack of receivers for my analytics and page usage definitions. A short powershell script verified they were missing, and then created them for me. The following is the powershell script to fix the issue. I am posting it in case the original site ever goes down.

if((Get-PSSnapin -Name Microsoft.SharePoint.PowerShell) -eq $null) 
    Add-PSSnapin Microsoft.SharePoint.PowerShell 

$aud = Get-SPUsageDefinition | where {$_.Name -like "Analytics*"} 

# if analytics usage definition receivers is empty then manually add back receiver 
if($aud.Receivers.Count -eq 0) 
    $aud.Receivers.Add("Microsoft.Office.Server.Search.Applications, Version=, Culture=neutral, PublicKeyToken=71e9bce111e9429c", "Microsoft.Office.Server.Search.Analytics.Internal.AnalyticsCustomRequestUsageReceiver") 

# if analytics usage definition receiver is not enabled then enable it 
if($aud.EnableReceivers -eq $false) 
    $aud.EnableReceivers = $true 

$aud | fl 

$prud = Get-SPUsageDefinition | where {$_.Name -like "Page Requests"}  

# if page requests usage definition receivers is empty then manually add back receiver 
if($prud.Receivers.Count -eq 0) 
    $prud.Receivers.Add("Microsoft.Office.Server.Search.Applications, Version=, Culture=neutral, PublicKeyToken=71e9bce111e9429c", "Microsoft.Office.Server.Search.Analytics.Internal.ViewRequestUsageReceiver")  

# if page requests usage definition receiver is not enabled then enable it 
if($prud.EnableReceivers -eq $false) 
    $prud.EnableReceivers = $true 

$prud | fl 

Big thanks to Brian Jackett, who posted the root cause as well as the above solution on his blog: http://geekswithblogs.net/bjackett/archive/2013/08/26/powershell-script-to-workaround-no-data-in-sharepoint-2013-usage.aspx


Check out this helpful thread: http://social.technet.microsoft.com/Forums/sharepoint/en-US/30d11d27-6708-4bfe-a7d3-4b0aed522e7d/site-web-analytics-reports-no-more-data?forum=sharepointadminprevious

I had a similar issue with empty analytics reports and I found that the Staging database setting for Service Broker: "Broker Enabled" = False. I changed this to True and the next day, analytics data was available for reports.

  • The broker appears to be enabled for what I believe to be the staging database. What would the name of the staging database be? Commented Feb 10, 2014 at 17:11
  • To find the name of your staging database with powershell: get-spdatabase | select name, type | format-list Then, look for a database of type "Microsoft.Office.Server.WebAnalytics.Administration.WebAnalyticsStagerDatabase". Also, check out this article about troubleshooting web analytics: blogs.technet.com/b/manharsharma/archive/2012/10/13/…
    – Phil Greer
    Commented Feb 10, 2014 at 17:33
  • Since I am on SP2013, I don't have the Analytics DBs anymore since Microsoft merged it into the Search system. Though your linked pages did help me verify I am in fact copying the usage data and processing it to the SQL server. It seems like the disconnect is happening when the report is generated for download. Commented Feb 10, 2014 at 18:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.