SHUTDOWN (Transact-SQL)

適用対象:SQL Server

SQL Server を直ちに停止します。

Transact-SQL 構文表記規則

構文

SHUTDOWN [ WITH NOWAIT ]   

Note

SQL Server 2014 (12.x) 以前のバージョンの Transact-SQL 構文を確認するには、以前のバージョンのドキュメントを参照してください。

引数

WITH NOWAIT
省略可能。 各データベースでチェックポイントを実行せずに、SQL Server をシャットダウンします。 SQL Server はすべてのユーザー プロセスの停止を試行した後に終了します。 サーバーが再起動すると、完了しなかったトランザクションのロールバック操作が行われます。

解説

WITH NOWAIT オプションを使用しない場合、SHUTDOWN では SQL Server が次のようにシャットダウンされます。

  1. ログインを無効にする (固定サーバー ロール sysadmin および serveradmin のメンバーを除く)。

    Note

    現在のすべてのユーザーの一覧を表示するには、sp_who を実行します。

  2. 現在実行中の Transact-SQL ステートメントまたはストアド プロシージャが終了するまで待機する。 すべてのアクティブなプロセスとロックの一覧を表示するには、それぞれ sp_who および sp_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 キーを押してもチェックポイントは挿入されません。

Note

どの方法で SQL Server を停止しても、SQL Server には SERVICE_CONTROL_STOP メッセージが送信されます。

アクセス許可

SHUTDOWN アクセス許可は、既定では固定サーバー ロール sysadmin および serveradmin のメンバーに与えられています。このアクセス許可を譲渡することはできません。

参照

CHECKPOINT (Transact-SQL)
sp_lock (Transact-SQL)
sp_who (Transact-SQL)
sqlservr アプリケーション
データベース エンジン、SQL Server エージェント、SQL Server Browser サービスの開始、停止、一時停止、再開、および再起動