SHUTDOWN (Transact-SQL)

適用於:SQL Server

立即停止 SQL Server。

Transact-SQL 語法慣例

Syntax

SHUTDOWN [ WITH NOWAIT ]   

注意

若要檢視 SQL Server 2014 (12.x) 和舊版的 Transact-SQL 語法,請參閱 舊版檔

引數

WITH NOWAIT
選擇性。 在不執行每個資料庫中檢查點的情況下,關閉 SQL Server。 在嘗試終止所有使用者處理序之後,結束 SQL Server。 當重新啟動伺服器時,會執行未完成的交易之回復作業。

備註

除非使用 WITH NOWAIT 選項,否則 SHUTDOWN 會利用下列方式來關閉 SQL Server:

  1. 停用登入 (sysadminserveradmin 固定伺服器角色的成員除外)。

    注意

    若要顯示所有目前使用者的清單,請執行 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 不會插入檢查點。

注意

使用這些方法的任一種來停止 SQL Server,會將 SERVICE_CONTROL_STOP 訊息傳給 SQL Server。

權限

SHUTDOWN 權限會指派給 sysadminserveradmin 固定伺服器角色的成員,且無法轉讓。

另請參閱

CHECKPOINT (Transact-SQL)
sp_lock (Transact-SQL)
sp_who (Transact-SQL)
sqlservr 應用程式
啟動、停止、暫停、繼續、重新啟動 Database Engine、SQL Server Agent 或 SQL Server Browser 服務