When the SQL Server Agent service is not running, automated jobs, alerts, and maintenance plans stop working, which can quickly impact monitoring and backup strategies. This guide provides focused troubleshooting steps to identify why the agent is stopped and how to restore reliable operation.
Before diving into commands and configurations, review the diagnostic dimensions below that help you choose the right remediation path based on environment type, permissions, and failure mode.
| Check Area | Key Indicator | Likely Cause | Recommended Action |
|---|---|---|---|
| Service Status | Stopped or starting | Manual stop, system reboot, dependency failure | Start the service via Services console or PowerShell |
| Recovery Settings | Frequent restarts then stop | Misconfigured recovery actions or account issues | Verify recovery options and service account permissions |
| Windows Logs | Event ID 7000, 7009, 7023, 7031 | Logon failure, timeout on dependencies, corrupted binary | Inspect details for specific error codes and stack traces |
| Dependencies | Other services unavailable | SQL Server not running, network or storage issues | Start dependent services in correct order and check connectivity |
| Permissions | Access denied on startup | Account missing rights to log on as a service | Confirm user rights assignment and membership in SQL Server group |
Verify Current Status and Service Configuration
Begin by confirming the state of the SQL Server Agent service on the host machine. This step clarifies whether the issue is a simple stop condition or something more complex.
Check Service State
Open Services.msc, locate SQLSERVERAGENT, and review the Status column for Stopped or Starting. Note the Startup Type to ensure it is set to Automatic for environments where scheduled jobs are required continuously.
Use PowerShell for Rapid Checks
Run Get-Service -Name 'SQLSERVERAGENT' -Server 'localhost' to retrieve the current status and start type from an elevated PowerShell prompt. Use Start-Service to attempt an immediate start, and then verify the change with a second Get-Service call.
Review Windows System and Application Logs
Event Viewer and Windows logs often contain the exact reason why the agent refused to start, including dependency failures and permission denials. Examining these records narrows the troubleshooting path quickly.
Locate Relevant Events
In Event Viewer, expand Windows Logs and click Application. Filter on sources such as SQLSERVERAGENT, MSSQLSERVER, and Service Control Manager to isolate entries around the time you attempted to start the service.
Interpret Common Error Codes
Event ID 7000 indicates a failure during driver load or service start, while 7009 signals a timeout waiting for a response. Event 7023 often points to a terminated process due to an unhandled exception or dependency failure.
Validate Service Account and Permissions
The SQL Server Agent service runs under a specific Windows account that must have appropriate rights and network access. Misconfigured credentials or insufficient privileges commonly prevent the service from starting.
Confirm Account Rights
Ensure the account is a member of the local log on as a service right, typically through Computer Configuration > Windows Settings > Security Settings > Local Policies > User Rights Assignment. Avoid using local system accounts for production services unless strictly necessary.
Check Password and Network Access
If the password for the service account has changed, update it in Services.msc. Verify that the account can reach required network shares, linked servers, and domain controllers, because blocked network paths can stop the agent unexpectedly.
Address Service Dependencies and SQL Server State
SQL Server Agent relies on the core database engine and sometimes on full-text search or other components. If these dependencies are not running, the agent may remain stopped or fail shortly after starting.
Start SQL Server First
Open Services.msc or use SQL Server Configuration Manager to ensure that the SQL Server (MSSQLSERVER) service is running before starting SQL Server Agent. On clustered instances, verify that the group ownership and dependency resources are online and healthy.
Review Agent Startup Parameters
Check for incorrect -c, -m, or -f parameters that may limit memory or enable single-user mode unintentionally. Remove or correct these entries in the service properties under the Log On tab or via SQL Server Configuration Manager.
Recommended Actions and Maintenance Practices
Implementing consistent checks and operational habits reduces the likelihood of SQL Server Agent outages and speeds up future troubleshooting.
- Confirm that the SQL Server Agent service startup type is set to Automatic on all production instances.
- Run regular health checks for service status, job history, and dependency availability.
- Use a dedicated service account with least privilege and log on as a service rights only.
- Monitor event logs and agent error logs for recurring warnings that precede stops.
- Document and test recovery steps in runbooks, including PowerShell commands for automation.
FAQ
Reader questions
Why does SQL Server Agent stop immediately after I start it?
Immediate stop behavior is often caused by corrupted binary files, missing dependent services, or a service account that loses permissions during the start sequence. Inspect the Application and System event logs for stack traces and error codes, and consider repairing the instance using setup /ACTION=REINSTALL if binaries are damaged.
How can I prevent SQL Server Agent from stopping after a Windows update?
Windows updates can reset service accounts or security policies. After major updates, verify the agent service account still has log on as a service rights, review dependent services, and confirm the startup type is still set to Automatic. Schedule a maintenance window to restart the agent and related services after patching.
What should I do if the agent starts but jobs do not run?
A running service with inactive jobs can indicate misconfigured schedules, disabled job steps, or proxy account issues. Confirm that the SQL Server Agent service is truly running, check that the jobs are enabled, and validate proxy credentials and subsystem permissions in SQL Server Management Studio.
Can a blocked network port cause SQL Server Agent to fail to start?
Yes, if the agent cannot resolve linked servers, access SQL Server Agent logs on a network share, or connect to the database engine due to firewall rules, it may fail to initialize. Review Windows Firewall settings, verify that required ports such as 1433 are open, and ensure the service account has permission to access any remote shares it relies on.