1

I have a SharePoint 2013 server farm with 4 SharePoint servers (2 web front end and 2 application servers) + 1 SQL server.

I have a custom SharePoint solution which can be deployed globally. When I deploy this solution using either Central Admin or STSADM.EXE or Powershell, I am seeing that the solution is being in "Deploying" state for some time and then it is changed to "Not Deployed" state.

When I open the solution from Central Administration, it says that solution is successfully deployed to 3 servers and fourth server (one of the application servers) is not listed there and there is no error message.

"Microsoft SharePoint Foundation Web Application" service is not running in both the Application Servers but the solution is being deployed to one of the application servers.

Can I start "Microsoft SharePoint Foundation Web Application" service in both the Application Servers? What is the impact of running this service in application servers?

or is there anything else that I can do without starting this service in application servers?

Thanks in Advance.

2 Answers 2

1

SP Timer service is responsible for deployment of solutions. If on one APp server it is deploying correctly then turning on foundation service might not resolve your issues.

  1. First check is you timer service running (control manager-->services and check its state)

  2. Even if it runs you might have an issue with lack of instance and start it when it is not there.

script:

  $farm  = Get-SPFarm 
            $disabledTimers = $farm.TimerService.Instances | where {$_.Status -ne "Online"} 
            if ($disabledTimers -ne $null) 
            { 
                foreach ($timer in $disabledTimers) 
                { 
                    Write-Host "Timer service instance on server " $timer.Server.Name " is not Online. Current status:" $timer.Status 
                    Write-Host "Attempting to set the status of the service instance to online" 
                    $timer.Status = [Microsoft.SharePoint.Administration.SPObjectStatus]::Online 
                    $timer.Update() 
                } 
            } 
            else 
            { 
                Write-Host "All Timer Service Instances in the farm are online! No problems found" 
            }

Ref: https://gist.github.com/wpsmith/5f5db8378c303da87bc4

0

You should generally run this on all servers in the farm unless you have specific dedication requirements (large Dist Cache servers, for example).

There's no harm in running it. Ideally you would end up running it on your app servers and then targeting your search hosts to crawl those servers directly rather than letting them use DNS to crawl FEs your end users are using.

2
  • Thanks Trevor. Can we stop it after solution deployment is finished. My objective here is just successful deployment of solutions without changes in farm configuration as much as possible. Also, if this service is running on application servers, will they start handling some of the work of FEs? Commented Oct 22, 2019 at 6:03
  • You can, though the solution will be retracted when you do from those servers. They won't handle FE related traffic unless you use host file entries to direct traffic to them (e.g. point the search crawler at an app server) or configure DNS/load balancer appropriately.
    – user6024
    Commented Oct 22, 2019 at 17:05

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.