共用方式為


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

本主題描述如何使用 SQL Server 組態管理員、SQL Server Management Studio,啟動、停止、暫停、繼續或重新開機 SQL Server Database Engine、SQL Server Agent或 SQL Server Browser 服務來自命令提示字元、Transact-SQL 或 PowerShell 的 net 命令。

開始之前

什麼是 SQL Server Database Engine 服務、SQL Server Agent服務和 SQL Server Browser 服務?

SQL Server 元件是當作 Windows 服務執行的可執行程式。 當做 Windows 服務執行的程式可以繼續操作,而不會在電腦螢幕上顯示任何活動。

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

SQL Server Agent 服務
一種 Windows 服務,它會執行排程的管理工作 (稱為作業和警示)。 如需詳細資訊,請參閱 SQL Server Agent。 並非所有 SQL Server 版本都可使用 SQL Server Agent。 如需 SQL Server 版本所支援的功能清單,請參閱2014 SQL Server 版本支援的功能

SQL Server Browser 服務
Windows 服務,其會接聽傳入要求以找出 SQL Server 資源,並提供電腦上所安裝 SQL Server 執行個體的用戶端資訊。 單一 SQL Server Browser 服務執行個體會用於電腦上所安裝的所有 SQL Server 執行個體。

其他資訊

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

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

    SQL Server 組態管理員

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

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

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

    • 重新開機 Database Engine 時,紅色方塊表示服務已停止,然後綠色箭號會指出已成功啟動服務。

    Transact-SQL

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

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

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

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

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

安全性

權限

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

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

使用 SQL Server 組態管理員

若要啟動、停止、暫停、繼續或重新開機 SQL Server Database Engine 的實例

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

  2. 如果出現 [使用者帳戶控制] 對話方塊,請按一下 [是]

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

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

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

注意

若要使用啟動選項啟動 SQL Server Database Engine 的實例,請參閱設定伺服器啟動選項 (SQL Server 組態管理員)

啟動、停止、暫停、繼續或重新啟動 SQL Server Browser 或 SQL Server Agent 的執行個體

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

  2. 如果出現 [使用者帳戶控制] 對話方塊,請按一下 [是]

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

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

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

注意

SQL Server Agent 無法暫停。

使用 SQL Server Management Studio

若要啟動、停止、暫停、繼續或重新開機 SQL Server Database Engine 的實例

  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 Browser

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

    net start "SQL Server Browser"

    -或-

    net start SQLBrowser

若要從命令提示字元視窗暫停或停止服務

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

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

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

使用 TRANSACT-SQL

您可以使用 語句來 SHUTDOWN 停止 Database Engine。

使用 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 各版本所支援的功能