SHUTDOWN (Transact-SQL)

立即停止 SQL Server。

主题链接图标Transact-SQL 语法约定

语法

SHUTDOWN [ WITH NOWAIT ] 

参数

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

注释

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

  1. 禁用登录(sysadminserveradmin 固定服务器角色成员除外)。

    注意注意

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

  2. 等待当前正在运行的 Transact-SQL 语句或存储过程完成。若要显示所有活动进程和锁的列表,请分别执行 sp_whosp_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 权限指派给 sysadminserveradmin 固定服务器角色的成员,且不可传递。