sqlservr 應用程式
sqlservr 應用程式會在命令提示字元之下,啟動、停止、暫停和繼續執行 Microsoft SQL Server 的執行個體。
語法
sqlservr [-sinstance_name] [-c] [-dmaster_path] [-f]
[-eerror_log_path] [-lmaster_log_path] [-m]
[-n] [-Ttrace#] [-v] [-x] [-gnumber] [-h]
引數
-sinstance_name
指定要連接的 SQL Server 執行個體。如果未指定任何具名執行個體,sqlservr 會啟動 SQL Server 的預設執行個體。重要事項:
當啟動 SQL Server 的執行個體時,您必須使用在這個執行個體適當目錄中的 sqlservr 應用程式。如果是預設執行個體,請執行 \MSSQL\Binn 目錄中的 sqlservr。如果是具名執行個體,請執行 \MSSQL$sqlservr\Binn 目錄中的 instance_name。
-c
指出 SQL Server 執行個體是在 Windows 服務控制管理員之外個別啟動。當在命令提示字元之下啟動 SQL Server 時,這個選項可用來縮短啟動 SQL Server 所花的時間。附註:
當使用這個選項時,您不能利用 SQL Server 服務管理員或 net stop 命令來停止 SQL Server,如果您登出電腦,SQL Server 也會停止。
- -dmaster_path
指出 master 資料庫檔案的完整路徑。-d 和 master_path 之間沒有空格。如果不提供這個選項,會使用現有的登錄參數。
- -f
啟動只含最小組態的 SQL Server 執行個體。如果組態值設定 (如過度調配記憶體) 造成伺服器無法啟動,這就很有用。
- -eerror_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 之間沒有空格。
- -lmaster_log_path
指出 master 資料庫交易記錄檔的完整路徑。-l 和 master_log_path 之間沒有空格。
- -m
指出要啟動 SQL Server 執行個體的單一使用者模式。當啟動 SQL Server 的單一使用者模式時,只能連接單一使用者。不會啟動「保證從磁碟快取中,將已完成的交易定期寫入資料庫裝置」的 CHECKPOINT 機制。(一般而言,如果系統資料庫發生需要修復的問題,便會使用這個選項。)這個選項會啟用 sp_configure allow updates 選項。依預設,allow updates 是停用的。
- -n
可讓您啟動 SQL Server 2005 的具名執行個體。如果沒有設定 -s 參數,就會嘗試啟動預設執行個體。您必須先在命令提示字元之下,切換到適用於該執行個體的適當 BINN 目錄,才能啟動 sqlservr.exe。例如,如果 Instance1 的二進位編碼檔案使用 \mssql$Instance1,使用者就必須位於 \mssql$Instance1\binn 目錄中,才能啟動 sqlservr.exe -s instance1。如果您使用 -n 選項來啟動 SQL Server 的執行個體,建議您也要使用 -e 選項,否則,不會記錄 SQL Server 事件。
-Ttrace#
指出啟動 SQL Server 執行個體時,應該已啟用指定的追蹤旗標 (trace#)。追蹤旗標用來啟動具有非標準行為的伺服器。如需詳細資訊,請參閱<追蹤旗標 (Transact-SQL)>。重要事項:
當指定追蹤旗標時,請利用 -T 來傳遞追蹤旗標號碼。SQL Server 接受小寫的 t (-t);不過,-t 會設定 SQL Server 支援工程師所需要的其他內部追蹤旗標。
- -v
顯示伺服器版本號碼。
- -x
停止保留 CPU 時間和快取叫用比率統計資料。允許最大效能。
-gmemory_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
使用低於預設值的值,會增加緩衝集區和執行緒堆疊所能使用的記憶體數量,且可能在並未使用許多擴充預存程序、分散式查詢或自動化物件的系統中,使需要大量記憶體的工作負載因而提升效能。
- -h
當以 32 位元 SQL Server 2005 啟用 AWE 時,保留熱新增 (Hot-Add) 記憶體中繼資料的虛擬記憶體位址空間。32 位元 AWE 的熱新增記憶體有這項需要,不過,這會取用大約 0.5 GB 的虛擬位址空間,使記憶體的微調更加困難。64 位元的 SQL Server 沒有這項需要。
備註
在大部分情況下,sqlservr.exe 程式只用來進行疑難排解或主要的維護工作。當在命令提示字元之下,利用 sqlservr.exe 來啟動 SQL Server 時,SQL Server 不會啟動成一項服務,因此,您無法利用 net 命令來停止 SQL Server。使用者可以連接到 SQL Server,但 SQL Server 工具會顯示服務的狀態,因此,SQL Server 組態管理員會正確指出服務已經停止。SQL Server Management Studio 可以連接到伺服器,但它也會指出服務已經停止。
請參閱
其他資源
使用 SQL Server 服務啟動選項
使用 sqlservr.exe 從命令提示字元管理 SQL Server