SHUTDOWN (Transact-SQL)

适用范围:SQL Server

立即停止 SQL Server。

Transact-SQL 语法约定

语法

SHUTDOWN [ WITH NOWAIT ]

参数

WITH NOWAIT

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

备注

除非使用 WITH NOWAIT 选项,否则 SHUTDOWN 通过以下方式关闭 SQL Server:

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

    注意

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

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

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

使用 SHUTDOWN 语句可最大程度地减少 sysadmin 固定服务器角色重启 SQL Server 时所需的自动恢复工作量。

还可以使用其他工具和方法停止 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 权限分配给 sysadminserveradmin 固定服务器角色的成员,并且不可传输。