SHUTDOWN (Transact-SQL)

适用于:SQL Server

立即停止 SQL Server。

Transact-SQL 语法约定

语法

SHUTDOWN [ WITH NOWAIT ]   

注意

若要查看 SQL Server 2014 (12.x) 及更早版本的 Transact-SQL 语法,请参阅早期版本文档

自变量

WITH NOWAIT
可选。 在不对每个数据库执行检查点操作的情况下关闭 SQL Server。 SQL Server 在尝试终止全部用户进程后退出。 服务器重新启动时,将针对未完成事务执行回滚操作。

备注

除非使用 WITH NOWAIT 选项,否则 SHUTDOWN 将通过下列操作关闭 SQL Server:

  1. 禁用登录(sysadmin 和 serveradmin 固定服务器角色成员除外)

    注意

    若要显示当前所有用户的列表,请运行 sp_who

  2. 等待当前正在运行的 Transact-SQL 语句或存储过程完成。 若要显示所有活动进程和锁的列表,请分别执行 sp_who 和 sp_lock

  3. 在每个数据库中插入检查点。

当 sysadmin 固定服务器角色成员重启 SQL Server 时,使用 SHUTDOWN 语句可以将所需的自动恢复工作量减到最少

还可以使用其他工具和方法停止 SQL Server。 每个工具或方法都在所有数据库内执行检查点。 您可以从数据缓存中刷新已提交的数据,然后停止服务器:

  • 通过使用 SQL Server 配置管理器。

  • 通过在命令提示符处针对默认实例运行 net stop mssqlserver,或在命令提示符处针对命名实例运行 net stop mssql$ instancename

  • 使用“控制面板”中的“服务”应用程序。

如果是从命令提示符下启动 sqlservr.exe,按 Ctrl+C 可以关闭 SQL Server。 然而,按 Ctrl+C 键将不插入检查点。

注意

使用上述任何方法停止 SQL Server 都会向 SQL Server 发送 SERVICE_CONTROL_STOP 消息。

权限

SHUTDOWN 权限分配给 sysadmin 和 serveradmin 固定服务器角色的成员,且不可转让

另请参阅

CHECKPOINT (Transact-SQL)
sp_lock (Transact-SQL)
sp_who (Transact-SQL)
sqlservr Application
启动、停止、暂停、继续、重新启动数据库引擎、SQL Server 代理或 SQL Server Browser 服务