Published on March 6th, 2013 | by Jamie0
Fix for SQL Server Agent could not be started problem
For almost 10 years I have been fixing computers and servers on a daily basis, however I still don’t like messing with anything SQL related, that’s why I thought I’d show you how to fix a problem which has been affecting one of our clients recently.
Basically a third-party SQL database has been failing to back up for the last two months, within the software you’d see a message telling you that the SQL Server Agent service would need to be started for the backup to run, however this service would not start and thus backups wouldn’t run.
Upon closer inspection I found that in applications section of Windows Event logs there was a error log (Event ID: 103) with a description which read “SQLServerAgent could not be started (reason: Error creating a new session)”. If you go into services.msc and try to manually start the service you’d see a message which told you the service on Local Computer started and stopped (see image below) which is why the backup has been failing.
As stated earlier SQL databases scare me a little, so I was hesitant to apply any fixes I weren’t too sure about, this Microsoft KnowledgeBase article wasn’t much help, so after consulting with the client I was given authorization to try things which could possibly break things further! For obvious reasons I restarted the Windows Small Business 2011 server just in case, but that fixed nothing and nor did some SQL updates via Windows Update.
So then I looked at the SQLServerAgent service, there were a few there (one for each SQL instance), the one I needed for the particular third-party product was being logged on as “Network Service”, other services were running which had been logged on as this “Network Service” so I presumed that wasn’t the issue, I was wrong.
After hours of research and trial and error I decided to back up the server and then try changing the user which runs the service. By going into services.msc and then right-clicking on the SQLServerAgent service and going into properties I was able to go to the “Log On” tab and change tick the bullet point to allow the service to run as local account (see below). Don’t forget to click apply!
Sure enough after doing this I just right clicked the service and chose start and the service started without a problem, I then went into the third-party database software and tested backup functionality and it worked seamlessly. After monitoring the server for a few days I can confirm that in our scenario there has been no adverse affects – I hope you’re as lucky!
What’s weird is that this service just stopped working one day, we can see no obvious cause for the problem. We guess that the permissions became a little disjointed and the “Network Service” didn’t end up having the necessary permissions for that particular SQL instance. I wanted to publish this as Google search didn’t ever suggest this fix to me, so hopefully people will stumble across this post!
We took a lot of time researching fixes and causes, so please take the time to leave us a comment if this helped you out, or if you found another way of fixing it – we’d love to hear from you!