SHUTDOWN (Transact-SQL)

Immediately stops SQL Server.

Syntax

SHUTDOWN [ WITH NOWAIT ] 

Arguments

  • WITH NOWAIT
    Optional. Shuts down SQL Server without performing checkpoints in every database. SQL Server exits after attempting to terminate all user processes. When the server restarts, a rollback operation occurs for uncompleted transactions.

Remarks

Unless the WITH NOWAIT option is used, SHUTDOWN shuts down SQL Server by:

  1. Disabling logins (except for members of the sysadmin and serveradmin fixed server roles).

    Note

    To display a list of all current users, run sp_who.

  2. Waiting for currently running Transact-SQL statements or stored procedures to finish. To display a list of all active processes and locks, run sp_who and sp_lock, respectively.

  3. Inserting a checkpoint in every database.

Using the SHUTDOWN statement minimizes the amount of automatic recovery work needed when members of the sysadmin fixed server role restart SQL Server.

Other tools and methods can also be used to stop SQL Server. Each of these issues a checkpoint in all databases. You can flush committed data from the data cache and stop the server:

  • By using SQL Server Configuration Manager.
  • By running net stop mssqlserver from a command prompt for a default instance, or by running **net stop mssql$**instancename from a command prompt for a named instance.
  • By using Services in Control Panel.

If sqlservr.exe was started from the command prompt, pressing CTRL+C shuts down SQL Server. However, pressing CTRL+C does not insert a checkpoint.

Note

Using any of these methods to stop SQL Server sends the SERVICE_CONTROL_STOPmessage to SQL Server.

Permissions

SHUTDOWN permissions are assigned to members of the sysadmin and serveradmin fixed server roles, and they are not transferable.

See Also

Reference

CHECKPOINT (Transact-SQL)
sp_lock (Transact-SQL)
sp_who (Transact-SQL)

Other Resources

sqlservr Application
Stopping Services

Help and Information

Getting SQL Server 2005 Assistance