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 固定服务器角色的成员,且不可转让。

请参阅

参考

CHECKPOINT (Transact-SQL)

sp_lock (Transact-SQL)

sp_who (Transact-SQL)

sqlservr 应用程序

概念

启动、停止、暂停、继续、重新启动数据库引擎、SQL Server 代理或 SQL Server Browser 服务