sqlservr 應用程式

sqlservr 應用程式會在命令提示字元之下,啟動、停止、暫停和繼續執行 Microsoft SQL Server 的執行個體。

語法

sqlservr [-sinstance_name] [-c] [-dmaster_path] [-f] 
     [-eerror_log_path] [-lmaster_log_path] [-m]
     [-n] [-Ttrace#] [-v] [-x] [-gnumber]

引數

  • -s instance_name
    指定要連接的 SQL Server 執行個體。 如果未指定任何具名執行個體,sqlservr 會啟動 SQL Server 的預設執行個體。

    重要事項重要事項

    啟動 SQL Server 的執行個體時,您必須使用該執行個體之適當目錄中的 sqlservr 應用程式。 如果是預設的執行個體,請執行 \MSSQL\Binn 目錄中的 sqlservr。 如果是具名執行個體,請執行 \MSSQL$instance_name\Binn 目錄中的 sqlservr

  • -c
    指出 SQL Server 執行個體會於 Windows 服務控制管理員之外個別啟動。 當在命令提示字元之下啟動 SQL Server 時,這個選項可用來縮短啟動 SQL Server 所花的時間。

    [!附註]

    使用此選項時,您不可利用 SQL Server 服務管理員或 net stop 命令停止 SQL Server,而且如果您登出該電腦,SQL Server 也會停止。

  • -d master_path
    指出 master 資料庫檔案的完整路徑。 -d 和 master_path 之間沒有空格。 如果不提供這個選項,會使用現有的登錄參數。

  • -f
    啟動只含最小組態的 SQL Server 執行個體。 如果組態值設定 (如過度調配記憶體) 造成伺服器無法啟動,這就很有用。

  • -e error_log_path
    指出錯誤記錄檔的完整路徑。 如果未指定此選項,預設位置會是預設執行個體的 <Drive>:\Program Files\Microsoft SQL Server\MSSQL\Log\Errorlog,以及具名執行個體的 <Drive>:\Program Files\Microsoft SQL Server\MSSQL$instance_name\Log\Errorlog。 -e 和 error_log_path 之間沒有空格。

  • -l master_log_path
    指出 master 資料庫交易記錄檔的完整路徑。 -l 和 master_log_path 之間沒有空格。

  • -m
    指出要啟動 SQL Server 執行個體的單一使用者模式。 啟動 SQL Server 的單一使用者模式時,只能連接單一使用者。 不會啟動「保證從磁碟快取中,將已完成的交易定期寫入資料庫裝置」的 CHECKPOINT 機制。 (一般而言,如果系統資料庫發生需要修復的問題,便會使用這個選項。)這個選項會啟用 sp_configure allow updates 選項。 預設會停用 allow updates

  • -n
    可讓您啟動 SQL Server 的具名執行個體。 如果沒有設定 -s 參數,就會嘗試啟動預設執行個體。 您必須先在命令提示字元處切換至該執行個體的適當 BINN 目錄,才能啟動 sqlservr.exe。 例如,如果 Instance1 原先為二進位編碼檔案使用 \mssql$Instance1,使用者就必須位於 \mssql$Instance1\binn 目錄中,才能啟動 sqlservr.exe -s instance1。 如果您使用 -n 選項啟動 SQL Server 的執行個體,建議您也要使用 -e 選項,否則不會記錄 SQL Server 事件。

  • -T trace#
    指出啟動 SQL Server 執行個體時,應該已啟用指定的追蹤旗標 (trace#)。 追蹤旗標用來啟動具有非標準行為的伺服器。 如需詳細資訊,請參閱<追蹤旗標 (Transact-SQL)>。

    重要事項重要事項

    指定追蹤旗標時,請利用 -T 傳遞追蹤旗標號碼。 SQL Server 接受小寫的 t (-t);但是 -t 會設定 SQL Server 支援工程師所需要的其他內部追蹤旗標。

  • -v
    顯示伺服器版本號碼。

  • -x
    停止保留 CPU 時間和快取命中率統計資料。 允許最大效能。

  • -g memory_to_reserve
    指定 SQL Server 保留給在 SQL Server 處理序之內但在 SQL Server 記憶體集區之外的記憶體配置,所能使用的記憶體整數數量 (MB)。 記憶體集區外的記憶體,是 SQL Server 用來載入項目的區域,例如擴充程序 .dll 檔、分散式查詢參考的 OLE DB 提供者,以及 Transact-SQL 陳述式所參考的自動化物件。 預設值是 256 MB。

    使用這個選項可能有助於微調記憶體配置,不過,實體記憶體必須已超出作業系統在應用程式能夠使用的虛擬記憶體上所設定的限制。 在 SQL Server 的記憶體使用需求不合規則且 SQL Server 處理序的虛擬位址空間全部都在使用的大型記憶體組態中,可能適合使用這個選項。 使用此選項不正確時,可能會造成無法啟動 SQL Server 執行個體的狀況,也可能會發生執行階段錯誤。

    除非您在 SQL Server 錯誤記錄檔中見到下列任何警告,否則,請使用 -g 參數的預設值:

    • "Failed Virtual Allocate Bytes: FAIL_VIRTUAL_RESERVE <size>"

    • "Failed Virtual Allocate Bytes: FAIL_VIRTUAL_COMMIT <size>"

    這些訊息可能表示 SQL Server 正在嘗試釋出 SQL Server 記憶體集區的可用部分,以便找出擴充預存程序 .dll 檔或自動化物件等項目的空間。 在這種情況下,可考慮加大 -g 參數所保留的記憶體總數量。

    使用低於預設值的值,會增加緩衝集區和執行緒堆疊所能使用的記憶體數量,且可能在並未使用許多擴充預存程序、分散式查詢或自動化物件的系統中,使需要大量記憶體的工作負載因而提升效能。

備註

在大部分情況下,sqlservr.exe 程式只用來進行疑難排解或主要的維護工作。 在命令提示字元處利用 sqlservr.exe 啟動 SQL Server 時,SQL Server 不會啟動成一項服務,因此,您無法使用 net 命令停止 SQL Server。 使用者可以連接至 SQL Server,但 SQL Server 工具會顯示該服務的狀態,SQL Server 組態管理員因而可正確地指出該服務已經停止。 SQL Server Management Studio 可以連接到伺服器,但它也會指出該服務已經停止。

相容性支援

SQL Server 2012 中不支援 -h 參數。 舊版 32 位元 SQL Server 執行個體使用此參數,在啟用 AWE 的狀況下保留 Hot Add Memory 中繼資料的虛擬記憶體位址空間。 如需詳細資訊,請參閱<在 SQL Server 2012 中停止 SQL Server 的功能>。

請參閱

概念

Database Engine 服務啟動選項