Start, stop, pause, resume, and restart SQL Server services
Applies to: SQL Server - Windows only
This article describes how to start, stop, pause, resume, or restart the SQL Server Database Engine, the SQL Server Agent, or the SQL Server Browser service on Windows by using SQL Server Configuration Manager, SQL Server Management Studio (SSMS), net commands from a command prompt, Transact-SQL, or PowerShell.
For SQL Server on Linux, see Start, stop, and restart SQL Server services on Linux.
SQL Server components are executable programs that run as Windows services. Windows services can run without displaying any activity on the computer screen and without user interaction on the command line.
Service | Description |
---|---|
Database Engine service | The Database Engine service can be the default instance (limit one per computer) or can be one of many named instances on the computer. Use SQL Server Configuration Manager to find out which instances of the Database Engine are installed on the computer. The default instance (if you install it) is listed as SQL Server (MSSQLSERVER). Named instances (if you install them) are listed as SQL Server (<instance_name>). By default, SQL Server Express is installed as SQL Server (SQLEXPRESS). |
SQL Server Agent service | The SQL Server Agent service executes scheduled administrative tasks, which are called jobs and alerts. For more information, see SQL Server Agent. SQL Server Agent isn't available in every edition of SQL Server. For a list of features that are supported by the editions of SQL Server, see Editions and supported features of SQL Server 2022. |
SQL Server Browser service | The SQL Server Browser service listens for incoming requests for SQL Server resources and provides clients information about SQL Server instances installed on the computer. A single instance of the SQL Server Browser service is used by all instances of SQL Server installed on the computer. |
If you pause the Database Engine service, users who are already connected can continue to work until their connections are broken, but new users can't connect to the Database Engine. Use Pause when you want to wait for users to complete their work before you stop the service, which lets them complete transactions that are in progress. Resume allows the Database Engine to accept new connections again. The SQL Server Agent service can't be paused or resumed.
The SQL Server Configuration Manager and SSMS display the current status of services by using the following icons.
SQL Server Configuration Manager | SQL Server Management Studio (SSMS) | |
---|---|---|
Started | A green arrow on the icon next to the service name | A white arrow on a green circle icon next to the service name |
Stopped | A red square on the icon next to the service name | A white square on a red circle icon next to the service name |
Paused | Two vertical blue lines on the icon next to the service name | Two vertical white lines on a blue circle icon next to the service name |
Restarting | A red square indicates that the service stopped, and then a green arrow indicates that the service started successfully | None |
You don't have access to all possible options when using SQL Server Configuration Manager or SSMS, depending on the state of the service. For example, if the service is already started, Start is unavailable.
When running on a cluster, the SQL Server Database Engine service is best managed by using Cluster Administrator.
By default, only members of the local administrator group can start, stop, pause, resume, or restart a service. To grant non-administrators the ability to manage services, see How to grant users rights to manage services. (The process is similar on other versions of Windows Server.)
Stopping the Database Engine by using the Transact-SQL SHUTDOWN
command requires membership in the sysadmin or serveradmin fixed server roles, and isn't transferable.
The SQL Server Configuration Manager is a snap-in for the Microsoft Management Console program, and it might not appear as an application in some versions of Windows. For more information, see SQL Server Configuration Manager.
From the Start menu, select All Programs > Microsoft SQL Server > Configuration Tools > SQL Server Configuration Manager.
Start SQL Server Configuration Manager, using the instructions in the previous section.
If the User Account Control dialog box appears, select Yes.
In SQL Server Configuration Manager, in the left pane, select SQL Server Services.
In the results pane, right-click SQL Server (MSSQLServer) or a named instance, and then select Start, Stop, Pause, Resume, or Restart.
Select OK to close the SQL Server Configuration Manager.
To start an instance of the Database Engine with startup options, see SQL Server Configuration Manager: Configure server startup options.
Important
Starting with SQL Server 2022 (16.x), when you set the Start Mode for a SQL Server service to Automatic in Configuration Manager, the service will start in Automatic (Delayed Start) mode instead, even though the Start Mode shows as Automatic.
Start, stop, pause, resume, or restart the SQL Server Browser or an instance of the SQL Server Agent
Start SQL Server Configuration Manager, using the instructions in the previous section.
If the User Account Control dialog box appears, select Yes.
In SQL Server Configuration Manager, in the left pane, select SQL Server Services.
In the results pane, right-click SQL Server Browser, or SQL Server Agent (MSSQLServer) or SQL Server Agent (<instance_name>) for a named instance, and then select Start, Stop, Pause, Resume, or Restart.
Select OK to close the SQL Server Configuration Manager.
Note
SQL Server Agent can't be paused.
Use SQL Server Management Studio to manage the SQL Server Database Engine services.
In Object Explorer, connect to the instance of the Database Engine, right-click the instance of the Database Engine you want to start, and then select Start, Stop, Pause, Resume, or Restart.
Or, in Registered Servers, right-click the instance of the Database Engine you want to start, point to Service Control, and then select Start, Stop, Pause, Resume, or Restart.
If the User Account Control dialog box appears, select Yes.
When prompted if you want to act, select Yes.
In Object Explorer, connect to the instance of the Database Engine, right-click SQL Server Agent, and then select Start, Stop, or Restart.
If the User Account Control dialog box appears, select Yes.
When prompted if you want to act, select Yes.
The SQL Server services can be started, stopped, or paused by using Windows net commands.
From a command prompt, enter one of the following commands:
net start "SQL Server (MSSQLSERVER)"
-or-
net start MSSQLSERVER
From a command prompt, enter one of the following commands. Replace <instancename> with the name of the instance you want to manage.
net start "SQL Server (instancename)"
-or-
net start MSSQL$instancename
Add startup options to the end of the net start "SQL Server (MSSQLSERVER)"
statement, separated by a space. When started using net start
, startup options use a slash (/) instead of a hyphen (-).
net start "SQL Server (MSSQLSERVER)" /f /m
-or-
net start MSSQLSERVER /f /m
Note
For more information about startup options, see Database Engine Service startup options.
From a command prompt, enter one of the following commands:
net start "SQL Server Agent (MSSQLSERVER)"
-or-
net start SQLSERVERAGENT
From a command prompt, enter one of the following commands. Replace instancename with the name of the instance you want to manage.
net start "SQL Server Agent (instancename)"
-or-
net start SQLAgent$instancename
For information about how to run SQL Server Agent in verbose mode for troubleshooting, see sqlagent90 Application.
From a command prompt, enter one of the following commands:
net start "SQL Server Browser"
-or-
net start SQLBrowser
To pause or stop services, modify the commands in the following ways.
- To pause a service, replace
net start
withnet pause
. - To stop a service, replace
net start
withnet stop
.
The Database Engine can be stopped by using the SHUTDOWN
statement.
To wait for currently running Transact-SQL statements and stored procedures to finish, and then stop the Database Engine, execute the following statement.
SHUTDOWN;
To stop the Database Engine immediately, execute the following statement.
SHUTDOWN WITH NOWAIT;
For more information about the SHUTDOWN
statement, see SHUTDOWN.
You can manage the SQL Server Database Engine services using PowerShell.
At a SQL Server PowerShell command prompt, by executing the following command. Replace
computername
with the name of your computer.# Get a reference to the ManagedComputer class. CD SQLSERVER:\SQL\computername $Wmi = (get-item .).ManagedComputer
Identify the service that you want to stop or start. Pick one of the following lines. Replace
instancename
with the name of the named instance.To get a reference to the default instance of the Database Engine.
$DfltInstance = $Wmi.Services['MSSQLSERVER']
To get a reference to a named instance of the Database Engine.
$DfltInstance = $Wmi.Services['MSSQL$instancename']
To get a reference to the SQL Server Agent service on the default instance of the Database Engine.
$DfltInstance = $Wmi.Services['SQLSERVERAGENT']
To get a reference to the SQL Server Agent service on a named instance of the Database Engine.
$DfltInstance = $Wmi.Services['SQLAGENT$instancename']
To get a reference to the SQL Server Browser service.
$DfltInstance = $Wmi.Services['SQLBROWSER']
Complete the example to start and then stop the selected service.
# Display the state of the service. $DfltInstance # Start the service. $DfltInstance.Start(); # Wait until the service has time to start. # Refresh the cache. $DfltInstance.Refresh(); # Display the state of the service. $DfltInstance # Stop the service. $DfltInstance.Stop(); # Wait until the service has time to stop. # Refresh the cache. $DfltInstance.Refresh(); # Display the state of the service. $DfltInstance
To determine whether a SQL Server service instance is disabled, follow these steps:
Identify the service that you're trying to check by using the information in the Start, stop, pause, resume, and restart SQL Server services section.
In SQL Server Configuration Manager, select SQL Server Services and then locate the service you're interested in.
If the value of the Start Mode column is set to Other (Boot, System, Disabled or Unknown), it typically means the corresponding service is disabled. To enable the service, follow these steps:
In the Name column, right-click on the corresponding service and then switch to Service tab in the <Service name> Properties window.
Review the value in the Start Mode column and verify that it's set to Disabled.
Change the value to either Manual or Automatic per your requirements. For more information, see SQL Server Configuration Manager: Configure server startup options.
You can use the ServiceController
class to programmatically control the SQL Server service, or any other Windows service. For an example using C#, see ServiceController Class.
When you attempt to start SQL Server services, they might not start if there's a configuration problem. You can review the service specific logs to identify the problem and resolve it. Detailed troubleshooting steps and resolution for specific issues are available in the following articles: