在 Linux 上启动、停止和重启 SQL Server 服务

适用于:SQL Server - Linux

本文介绍如何使用命令行或 Transact-SQL 在 Linux 上启动、停止或重启 SQL Server 数据库引擎 和 SQL Server 代理。

有关 Windows 上的 SQL Server,请参阅启动、停止、暂停、继续和重启 SQL Server 服务

识别服务

SQL Server 组件是作为服务运行的可执行程序(在 Linux 上也称为守护程序)。 Linux 服务无需在计算机屏幕上显示任何活动,且无需在命令行上进行用户交互即可运行。

数据库引擎 服务

数据库引擎 服务是默认实例,每台计算机仅限一个。 Linux 上不支持命名实例。 若要使用容器在单个计算机上运行 SQL Server 的多个实例,请参阅部署并连接到容器中的 SQL Server

SQL Server 代理服务

SQL Server 代理服务可执行计划的管理任务(称为作业和警报)。 有关详细信息,请参阅 SQL Server Agent。 并不是所有版本的 SQL Server 都提供 SQL Server 代理。 有关 SQL Server 各版本支持的功能列表,请参阅 SQL Server 2019 各个版本支持的功能

其他信息

  • 在 Linux 上,无法像在 Windows 上那样暂停 数据库引擎。 SQL Server 代理服务也无法暂停或继续。

  • 在群集上运行时,请使用相应的群集管理工具来管理 Linux 分发的 数据库引擎。 有关使用 Pacemaker 的示例,请参阅在 Linux 上为 SQL Server 部署 Pacemaker 群集

权限

默认情况下,只有本地管理员组的成员能够启动、停止或重启服务。

使用 Transact-SQL SHUTDOWN 命令停止 数据库引擎 需要 sysadmin 或 serveradmin 固定服务器角色的成员资格,并且不可转让。

使用命令行工具

下列步骤说明如何在 Linux 上启动、停止、重启 SQL Server 服务并检查其状态。 若要管理 SQL Server 容器,请参阅 Linux 上的 SQL Server 故障排除

使用以下命令检查 数据库引擎 服务的状态:

sudo systemctl status mssql-server

可根据需要使用以下命令停止、启动或重启 数据库引擎 服务:

sudo systemctl stop mssql-server
sudo systemctl start mssql-server
sudo systemctl restart mssql-server

若要设置和管理 SQL Server 代理,请参阅在 Linux 上安装 SQL Server 代理。 若要重启 SQL Server 代理服务,必须重启 数据库引擎 服务。

Transact-SQL

数据库引擎 可以使用 SHUTDOWN 语句停止。

使用 Transact-SQL 停止 数据库引擎

  • 要等待当前运行的 Transact-SQL 语句和存储过程完成后停止 数据库引擎,请执行以下语句。

    SHUTDOWN;
    
  • 要立即停止数据库引擎,请执行以下语句:

    SHUTDOWN WITH NOWAIT;
    

有关 SHUTDOWN 语句的详细信息,请参阅 SHUTDOWN (Transact-SQL)