The most important Timer Job for Search you may not know exists

What comes to mind when I say "Application Server Administration Services" timer job? Based on the name alone, Search is probably the last answer - it was for me... until I learned just how important this timer job is to Search.

Having failures during a topology change? Go check this timer job. Master merge not being triggered? Go check this timer job. Have a crawl component stuck in starting or failing to provision? Component file shares that don't get created? Web service end points that won't provision? Search Schema that won't propagate to the Search Admin DB or back to the Query Components? UI not allowing you to trigger a backup of the SSA even though you clearly have permissions? Components or SSA in an otherwise unexplained funky state? An SSA that won't Pause or Resume? Crawls stuck on a Crawl Component? Got a ServerID mismatch? Or the Juno Constellation not synching with the Search Admin DB? 

...for all of these, go check that this timer job is running. And sometimes making it more opaque, it has to run on ALL search servers (not just servers with a crawl component) and make sure it's running every minute. This timer job isn't the root cause to all of the issues I've listed above, but it is highly involved in al of these scenarios (I can personally attest to troubleshooting each of these :-) ) and will in most cases provide you many of the missing clues you can't track down. For what it's worth, I generally consider this timer job the real "administration" component (and consider the "Admin Component" shown in the Topology as the Search Index Component).

I've hit enough of these errors enough times that I had to extend the Search Topology script from Knut Brandrud to verify this job is running and uploaded it to the TechNet scripts center:

Get-SPSearchTopologyState script extended to check the synchronization timer job

Just to be clear, this is the exact script provided by Knut Brandrud (link below), but has been extended to include checks for the "Application Server Administration Services Timer Job" status on each Search Server in the Farm. Knut is not associated in any way with this modification, so please blame ...errr, reach out to me if you have any questions about this branch of the script.

His original script can be found at his blog here:

How to view the status of the SharePoint 2013 search service

I hope this saves you some grief!