如何:啟動 SQL Server 的執行個體 (sqlservr.exe)

如果 SQL Server Database Engine 未啟動,疑難排解步驟之一是嘗試從命令提示字元啟動 Database Engine。這個主題描述如何啟動 Database Engine 的執行個體。

[!附註]

只有在進行疑難排解時,才應該從命令提示字元啟動 SQL Server。若要基於例行用途來啟動 SQL Server Database Engine,請參閱<如何:啟動 SQL Server 的執行個體 (SQL Server 組態管理員)>。

正常的 SQL Server 啟動是很複雜的活動,需要找到正確的 SQL Server 檔案、為 SQL Server 和 Microsoft Windows 服務設定的登錄設定,以及 SQL Server 服務所使用之網域帳戶的正確檔案和登錄權限。因此,一般的疑難排解步驟會藉由簡化其環境來判斷 SQL Server 是否可從理想狀況啟動。通常,疑難排解處理的第一個問題會是:「是否可以使用本機 Administrators 群組中的帳戶,而不使用 Windows 服務控制管理員,來啟動 SQL Server?」如果答案為「是」,表示問題可能和「服務控制管理員」有關係,或是和 SQL Server 服務嘗試使用之帳戶被指派的權限有關係。如果答案為「否」,則可能會出現先前無法透過「服務控制管理員」顯示的錯誤訊息,並表示問題可能出在 SQL Server 的檔案或登錄設定。

警告注意事項警告

除了要測試 SQL Server 是否能啟動之外,無論您的目的為何,都請不要從命令列執行 SQL Server。因為從命令列啟動 SQL Server 後所執行的維護動作,在後來可能會造成故障。例如,如果您以系統管理員的身分登入,並建立了新的資料庫或變更資料檔的位置,則稍後從 SQL Server 服務的正常帳戶執行時,可能會造成 SQL Server 無法存取這些檔案。

從命令列執行 SQL Server 時,請考慮下列限制:

  • 將 [命令提示字元] 視窗最小化,可能會導致 Windows 從 SQL Server 移除幾乎所有資源。這是正常現象,因為 SQL Server 並不是設計以這種方式運作的。

  • SQL Server 在使用者的安全性內容中執行,而非在安裝程式過程中指派給要執行 SQL Server 之帳戶的安全性內容中執行。

  • 所有系統訊息都會在用來啟動 SQL Server 之執行個體的視窗中出現。

  • 您無法使用 SQL Server Management Studio、SQL Server 組態管理員、控制台中的服務應用程式,或者任何 net 命令 (例如 net startnet pausenet continuenet stop) 等,來暫停、停止或繼續將 SQL Server 執行個體當成 Microsoft Windows 服務。

  • 您必須先關閉 SQL Server 的執行個體,才能登出 Windows。

  • 您輸入的任何命令提示字元選項,都優先於由 SQL Server 安裝程式寫入 Windows 登錄的預設命令提示字元選項。

  • SQL Server 組態管理員與 SQL Server Management Studio 顯示服務已停止。

啟動正確的 SQL Server 執行個體

根據預設,sqlservr.exe 位於 C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Binn。如果安裝了 SQL Server 的具名執行個體,則 sqlservr.exe 的第二個複本將位於 C:\Program Files\Microsoft SQL Server\MSSQL10.<instance_name>\MSSQL\binn 之類的目錄中。您可以使用不同執行個體的 sqlservr.exe 來啟動其中一個 SQL Server 執行個體,但 SQL Server 也會啟動錯誤的執行個體版本 (包括 Service Pack),因此可能會導致無法預期的結果。若要避免發生這種問題,請先使用 MS-DOS 切換目錄命令 (cd) 移往正確的目錄,然後再啟動 sqlservr.exe,如以下範例所示:

cd \Program Files\Microsoft SQL Server\MSSQL.MSSQLSERVER\MSSQL\Binn

若要從命令提示字元啟動 SQL Server 的預設執行個體

  • 在命令提示字元下,輸入下列命令:

    sqlservr.exe
    

從命令提示字元下啟動 SQL Server 的具名執行個體

  • 從命令提示字元中輸入下列命令,並以您要啟動之執行個體的名稱來取代 <instancename>:

    sqlservr.exe -s <instancename>
    

在命令提示字元下以單一使用者模式啟動 SQL Server 的預設執行個體

  • 在命令提示字元下,輸入下列命令:

    sqlservr.exe -m
    

    如果您在執行緊急維護時不想讓其他使用者連接到 SQL Server,單一使用者模式會很有用;不過,任何使用者都可能成為單一使用者,包括 SQL Server Agent 服務。

在命令提示字元下以單一使用者模式啟動 SQL Server 的具名執行個體

  • 在命令提示字元下,輸入下列命令:

    sqlservr.exe -m -s <instancename>
    

以最少組態啟動 SQL Server 的預設執行個體

  • 在命令提示字元下,輸入下列命令:

    sqlservr.exe -f
    

以最少組態啟動 SQL Server 的具名執行個體

  • 在命令提示字元下,輸入下列命令:

    sqlservr.exe -f -s <instancename>