4

I have a SharePoint Foundation 2010 environment where the SPTraceV4 service keeps being disabled. I narrowed down the issue to when the "Health Analysis Job (Hourly, Microsoft SharePoint Foundation Timer, All Servers) runs. There are two other Health Analysis Jobs here, but neither one of them causes the SPTraceV4 service to stop and be disabled.

When the service is running, diagnostic logging works fine. When this timer job runs, however, it fails.

I also have a test environment, which uses the same managed account for this service. It is not failing, so it is not password related.

This is a multi-tier SharePoint Foundation 2010 environment.

Help is defintely appreciated here!

2
  • How's your disk space on all your servers looking? Also, more importantly, is the tracer service being disabled on all your servers?
    – James Love
    Commented Mar 23, 2013 at 11:12
  • Logs were being stored to a separate drive which has plenty of space on both the application and WFE servers. The C:\ had a low amount of storage space on both app and WFE servers, so it was increased to prevent memory dump error. Issue persists although low memory error no longer present. And, yes, the SPTraceV4 service is being disabled on all servers.
    – JuanTrev
    Commented Mar 25, 2013 at 15:36

2 Answers 2

6

This issue actually had nothing to do with storage space or permissions, as originally indicated. The problem was the Config database thought the SPTraceV4 service was supposed to be disabled by default. So when the Health Analyzer ran it turned the service off, disabled it as it thought it should.

The solution was found on a TechNet blog here. Not to pick on the author here, but the syntax needed to be cleaned up. Below is the correct PowerShell that worked to get GUID of the SPTraceV4 service on all servers on the farm.

((Get-SPFarm).Services | where {$_.Name -match "SPTraceV4"}).instances

or

((Get-SPFarm).Services | where {$_.Name -match "SPTraceV4"}).instances | Format-List

In addition to the GUID, the script also returns the default status of the service (Disabled or Online). The second script option above would be the preferred option for some if this is happening in a multiple server farm.

Once the service GUID was retrieved, the next PowerShell command enabled it on the respective server. So in a two server farm (ex serv1 and serv2), run the GUID for serv1 on serv1 and the GUID for serv2 on serv2.

Start-SPServiceInstance -Identity <Id>

The services were reset to start automatically and were started by the server itself. After manually running the Health Analyzer it continued working!

Big shout out to a team mate who helped push to find a solution.

0
$services = (Get-SPFarm).Services | Where Name -match "SPTraceV4"
$instances = @($services.Instances)
 
foreach($instance in $instances) {
     $id = $instance.ID | Select -ExpandProperty Guid
 
     Start-SPServiceInstance -Identity $id
}

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.