Start, stop, and restart SQL Server services on Linux
Applies to: SQL Server - Linux
This article describes how to start, stop, or restart the SQL Server Database Engine and SQL Server Agent on Linux by using the command line, or Transact-SQL.
For SQL Server on Windows, see Start, stop, pause, resume, and restart SQL Server services.
For SQL Server on Linux containers, see Configure and customize SQL Server Linux containers.
Identify the service
SQL Server components are executable programs that run as services (also known as daemons on Linux). Linux services can run without displaying any activity on the computer screen and without user interaction on the command line.
SQL Server Database Engine service
The Database Engine service is the default instance, with a limit of one per computer. Named instances aren't supported on Linux. To run multiple instances of SQL Server on a single computer using containers, see Deploy and connect to SQL Server Linux containers.
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 supported by the editions of SQL Server, see Editions and supported features of SQL Server 2022.
Additional information
On Linux, you can't pause the Database Engine service like you can on Windows. The SQL Server Agent service also can't be paused or resumed.
When running on a cluster, use the appropriate cluster management tool to manage the Database Engine for your Linux distribution. See Deploy a Pacemaker cluster for SQL Server on Linux for an example using Pacemaker.
Permissions
By default, only members of the local administrator group can start, stop, or restart a service.
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.
Use command-line tools
The following steps show how to start, stop, restart, and check the status of the SQL Server service on Linux. To manage a SQL Server container, see Troubleshoot SQL Server on Linux.
Check the status of the Database Engine service using this command:
sudo systemctl status mssql-server
You can stop, start, or restart the Database Engine service as needed using the following commands:
sudo systemctl stop mssql-server
sudo systemctl start mssql-server
sudo systemctl restart mssql-server
To set up and manage the SQL Server Agent, see Install SQL Server Agent on Linux. To restart the SQL Server Agent service, you must restart the Database Engine service.
Transact-SQL
The Database Engine can be stopped by using the SHUTDOWN
statement.
Stop the Database Engine with Transact-SQL
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, see SHUTDOWN.