如何:啟動 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 start、net pause、net continue 及 net 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_50.MSSQLSERVER\MSSQL\Binn。如果安裝了第二個 SQL Server 執行個體,則 sqlservr.exe 的第二個副本將位於 C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\binn 之類的目錄中。您可以使用不同執行個體的 sqlservr.exe 來啟動其中一個 SQL Server 執行個體,但 SQL Server 也會啟動錯誤的執行個體版本 (包括 Service Pack),因此可能會導致無法預期的結果。若要避免發生這種問題,請先使用 MS-DOS 變更目錄命令 (cd) 移往正確的目錄,然後再啟動 sqlservr.exe,如以下範例所示。
cd \Program Files\Microsoft SQL Server\MSSQL10_50.1\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>