啟動、停止、暫停、繼續、重新啟動 Database Engine、SQL Server Agent 或 SQL Server Browser 服務

本主題描述如何使用命令提示字元、Transact-SQL 或 PowerShell 中的 SQL Server 組態管理員、SQL Server Management Studio、net 命令,啟動、停止、暫停、繼續或重新啟動 SQL Server 資料庫引擎、SQL Server Agent 或 SQL Server Browser 服務。

開始之前

什麼是 SQL Server 資料庫引擎 服務、SQL Server Agent 服務和 SQL Server Browser 服務?

SQL Server 元件是以 Windows 服務身分執行的可執行程式。 以 Windows 服務執行的程式可以繼續運作,而不會在電腦畫面上顯示任何活動。

資料庫引擎服務
SQL Server 資料庫引擎 可執行的進程。 資料庫引擎 可以是預設實例(每部計算機限制一個),也可以是 資料庫引擎 的許多具名實例之一。 使用 SQL Server 組態管理員 來判斷計算機上安裝 資料庫引擎 的實例。 預設執行個體 (如果安裝的話) 會列為 SQL Server (MSSQLSERVER) 。 具名執行個體 (如果安裝的話) 會列為 SQL Server (<instance_name>)。 根據預設,SQL Server Express 會安裝為 SQL Server (SQLEXPRESS)

SQL Server Agent 服務
執行排程系統管理工作的 Windows 服務,稱為作業和警示。 如需詳細資訊,請參閱 SQL Server Agent。 SQL Server Agent 無法在每一版的 SQL Server 中使用。 如需 SQL Server 版本所支援的功能清單,請參閱 SQL Server 2014 版本支援的功能。

SQL Server Browser 服務
Windows 服務,會接聽 SQL Server 資源的連入要求,並提供計算機上安裝之 SQL Server 實例的用戶端資訊。 SQL Server Browser 服務的單一實例會用於計算機上安裝的所有 SQL Server 實例。

其他資訊

  • 暫停 資料庫引擎 服務可防止新用戶連線到 資料庫引擎,但已連線的使用者可以繼續工作,直到其連線中斷為止。 當您想要等候使用者在停止服務之前完成工作時,請使用暫停。 這可讓他們完成進行中的交易。 「繼續」可讓資料庫引擎再次接受新的連線。 SQL Server Agent 服務無法暫停或繼續。

  • SQL Server 組態管理員 和 SQL Server Management Studio 會使用下列圖示來顯示服務的目前狀態。

    SQL Server 組態管理員

    • 服務名稱旁圖示上的綠色箭號表示服務已啟動。

    • 服務名稱旁圖示上的紅色正方形表示服務已停止。

    • 服務名稱旁圖示上的兩條垂直藍線表示服務已暫停。

    • 重新啟動 資料庫引擎 時,紅色方塊會指出服務已停止,然後綠色箭號表示服務已成功啟動。

    SQL Server Management Studio

    • 服務名稱旁綠色圓形圖示上的白色箭號表示服務已啟動。

    • 服務名稱旁紅色圓形圖示上的白色正方形表示服務已停止。

    • 服務名稱旁藍色圓形圖示上的兩條垂直白線表示服務已暫停。

  • 使用 SQL Server 組態管理員 或 SQL Server Management Studio 時,只能使用可能的選項。 例如,如果服務已啟動, Start 將無法使用。

  • 在叢集上執行時,使用叢集管理員來管理 SQL Server 資料庫引擎服務的效果最佳。

安全性

權限

根據預設,只有本機 Administrators 群組的成員能夠啟動、停止、暫停、繼續或重新啟動服務。 若要將管理服務的能力授與非系統管理員,請參閱 How to grant users rights to manage services in Windows Server 2003(如何在 Windows Server 2003 中,將管理服務的權限授與使用者)。 (其他 Windows 版本的程序都很相似)。

使用 Transact-SQLSHUTDOWN 命令停止 資料庫引擎 需要系統管理員或 serveradmin 固定伺服器角色的成員資格,而且無法傳輸。

使用 SQL Server 組態管理員

若要啟動、停止、暫停、繼續或重新啟動 SQL Server 實例 資料庫引擎

  1. 在 [開始] 功能表上,指向 [所有程式],指向 [SQL Server 2014] Microsoft,指向 [組態工具],然後單擊 [SQL Server 組態管理員]。

  2. 如果出現 [ 用戶帳戶控制 ] 對話框,請按兩下 [ ]。

  3. 在 [SQL Server 組態管理員] 的左窗格中,按兩下 [SQL Server 服務]。

  4. 在結果窗格中,以滑鼠右鍵按兩下 SQL Server (MSSQLServer) 或具名實例,然後按兩下 [啟動]、[停止]、[暫停]、[繼續] 或 [重新啟動]。

  5. 按兩下 [確定] 關閉 SQL Server 組態管理員。

注意

若要使用啟動選項啟動 SQL Server 資料庫引擎 實例,請參閱設定伺服器啟動選項(SQL Server 組態管理員)。

若要啟動、停止、暫停、繼續或重新啟動 SQL Server Browser 或 SQL Server Agent 的實例

  1. 在 [開始] 功能表上,指向 [所有程式],指向 [MICROSOFT SQL Server 2014],指向 [組態工具],然後單擊 [SQL Server 組態管理員]。

  2. 如果出現 [ 用戶帳戶控制 ] 對話框,請按兩下 [ ]。

  3. 在 [SQL Server 組態管理員] 的左窗格中,按兩下 [SQL Server 服務]。

  4. 在結果窗格中,以滑鼠右鍵按兩下具名實例的 SQL Server BrowserSQL Server Agent (MSSQLServer)SQL Server Agent (<instance_name>),然後按兩下 [啟動]、[停止]、[暫停]、[繼續] 或 [重新啟動]。

  5. 按兩下 [確定] 關閉 SQL Server 組態管理員。

注意

SQL Server Agent 無法暫停。

使用 SQL Server Management Studio

若要啟動、停止、暫停、繼續或重新啟動 SQL Server 實例 資料庫引擎

  1. 在 物件總管 中,連接到 資料庫引擎 的實例,以滑鼠右鍵按兩下您要啟動之 資料庫引擎 實例,然後按兩下 [啟動]、[停止]、[暫停]、[繼續] 或 [重新啟動]。

    或者,在 [已註冊的伺服器] 中,以滑鼠右鍵按下您想要啟動之 資料庫引擎 實例,指向 [服務控制],然後按兩下 [啟動]、[停止]、[暫停]、[繼續] 或 [重新啟動]。

  2. 如果出現 [ 用戶帳戶控制 ] 對話框,請按兩下 [ ]。

  3. 當系統提示您是否要執行動作時,請按一下 [是]

若要啟動、停止或重新啟動 SQL Server Agent 的實例

  1. 在 物件總管 中,連接到 資料庫引擎 的實例,以滑鼠右鍵按兩下 [SQL Server Agent],然後按兩下 [啟動]、[停止] 或 [重新啟動]。

  2. 如果出現 [ 用戶帳戶控制 ] 對話框,請按兩下 [ ]。

  3. 當系統提示您是否要執行動作時,請按一下 [是]

使用 net 命令從命令提示字元視窗

您可以使用 Microsoft Windows net 命令來啟動、停止或暫停Microsoft SQL Server 服務。

若要啟動 資料庫引擎的預設實例

  • 從命令提示字元,輸入下列其中一個命令:

    net start “SQL Server (MSSQLSERVER)”

    -或-

    net start MSSQLSERVER

啟動 資料庫引擎的具名實例

  • 從命令提示字元,輸入下列其中一個命令。 以您要管理之執行個體的名稱取代 <執行個體名稱>

    net start “SQL Server ( instancename )”

    -或-

    net start MSSQL$ instancename

使用啟動選項啟動 資料庫引擎

  • 將啟動選項加入 net start "SQL Server (MSSQLSERVER)" 陳述式結尾,並間隔一個空格。 使用 net start啟動時,啟動選項會使用斜線 (/),而非連字號 (-)。

    net start “SQL Server (MSSQLSERVER)” /f /m

    -或-

    net start MSSQLSERVER /f /m

    注意

    如需啟動選項的詳細資訊,請參閱 Database Engine 服務啟動選項

在 SQL Server 的預設實例上啟動 SQL Server Agent

  • 從命令提示字元,輸入下列其中一個命令:

    net start “SQL Server Agent (MSSQLSERVER)”

    -或-

    net start SQLSERVERAGENT

在 SQL Server 具名實例上啟動 SQL Server Agent

  • 從命令提示字元,輸入下列其中一個命令。 以您要管理之執行個體的名稱取代 執行個體名稱

    net start “SQL Server Agent( instancename )”

    -或-

    net start SQLAgent$ instancename

如需如何以詳細資訊模式執行 SQL Server Agent 來進行疑難排解的資訊,請參閱 sqlagent90 應用程式

啟動 SQL Server 瀏覽器

  • 從命令提示字元,輸入下列其中一個命令:

    net start “SQL Server Browser”

    -或-

    net start SQLBrowser

從 [命令提示字元] 視窗暫停或停止服務

  • 若要暫停或停止服務,請以下列方式修改命令。

    • 若要暫停服務,請以 net pause 取代 net start

    • 若要停止服務,請使用 net stop 取代 net start

使用 TRANSACT-SQL

您可使用 SHUTDOWN 陳述式來停止資料庫引擎。

使用 Transact-SQL 停止資料庫引擎

  • 若要等待目前正在執行的 Transact-SQL 陳述式和預存程序完成,然後停止資料庫引擎,請執行下列陳述式。

    SHUTDOWN;   
    
  • 若要立即停止資料庫引擎,請執行下列陳述式。

    SHUTDOWN WITH NOWAIT;   
    

如需 SHUTDOWN 陳述式的詳細資訊,請參閱 SHUTDOWN (Transact-SQL)

使用 PowerShell

啟動和停止 資料庫引擎服務

  1. 在 [命令提示字元] 視窗中,執行下列命令來啟動 SQL Server PowerShell。

    sqlps  
    
  2. 在 SQL Server PowerShell 命令提示字元中,執行下列命令。 以電腦的名稱取代 computername

    # Get a reference to the ManagedComputer class.  
    CD SQLSERVER:\SQL\computername  
    $Wmi = (Get-Item .).ManagedComputer
    
  3. 識別您想要停止或啟動的服務。 挑選下列其中一行。 使用具名執行個體的名稱取代 instancename

    • 取得資料庫引擎預設執行個體的參考。

      $DfltInstance = $Wmi.Services['MSSQLSERVER']  
      
    • 取得資料庫引擎具名執行個體的參考。

      $DfltInstance = $Wmi.Services['MSSQL$instancename']  
      
    • 取得資料庫引擎預設執行個體上 SQL Server Agent 服務的參考。

      $DfltInstance = $Wmi.Services['SQLSERVERAGENT']  
      
    • 取得資料庫引擎具名執行個體上 SQL Server Agent 服務的參考。

      $DfltInstance = $Wmi.Services['SQLAGENT$instancename']  
      
    • 取得 SQL Server Browser 服務的參考。

      $DfltInstance = $Wmi.Services['SQLBROWSER']  
      
  4. 完成範例,以啟動然後停止選取的服務。

    # Display the state of the service.  
    $DfltInstance  
    # Start the service.  
    $DfltInstance.Start();  
    # Wait until the service has time to start.  
    # Refresh the cache.  
    $DfltInstance.Refresh();   
    # Display the state of the service.  
    $DfltInstance  
    # Stop the service.  
    $DfltInstance.Stop();  
    # Wait until the service has time to stop.  
    # Refresh the cache.  
    $DfltInstance.Refresh();   
    # Display the state of the service.  
    $DfltInstance  
    

另請參閱

以最低組態啟動 SQL Server
SQL Server 2014 各版本所支援的功能