次の方法で共有


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 のメンバーを除く)。

    Note

    現在のすべてのユーザーの一覧を表示するには、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 を押してもチェックポイントは挿入されません。

Note

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

アクセス許可

SHUTDOWN 権限は、sysadmin および serveradmin 固定サーバー ロールのメンバーに割り当てられ、転送できません。