使用 SQL Server 服務啟動選項
安裝 SQL Server 時,安裝程式會在 Microsoft Windows 登錄中寫入一組預設啟動選項。您可使用這些啟動選項來指定替代 master 資料庫檔案、master 資料庫記錄檔或錯誤記錄檔。
您可以使用 SQL Server 組態管理員來設定啟動選項。如需相關資訊,請參閱<如何:設定伺服器啟動選項 (SQL Server 組態管理員)>。
預設啟動選項 | 描述 |
---|---|
-dmaster_file_path |
master 資料庫檔案的完整路徑 (通常是 C:\Program Files\Microsoft SQL Server\MSSQL.<n>\MSSQL\Data\master.mdf)。如果不提供這個選項,會使用現有的登錄參數。 |
-eerror_log_path |
錯誤記錄檔的完整路徑 (通常是 C:\Program Files\Microsoft SQL Server\MSSQL.<n>\MSSQL\LOG\ERRORLOG)。如果不提供這個選項,會使用現有的登錄參數。 |
-lmaster_log_path |
master 資料庫記錄檔的完整路徑 (通常是 C:\Program Files\Microsoft SQL Server\MSSQL.<n>\MSSQL\Data\mastlog.ldf)。 |
您可以暫時覆寫預設啟動選項,並使用下列其他啟動選項來啟動 SQL Server 的執行個體。
其他啟動選項 | 描述 |
---|---|
-c |
縮短從命令提示字元啟動 SQL Server 的啟動時間。一般而言,SQL Server Database Engine 會呼叫「服務控制管理員」,以服務方式啟動。因為從命令提示字元啟動時,SQL Server Database Engine 不會以服務方式啟動,所以請使用 -c 略過這個步驟。 |
-f |
啟動只含最小組態的 SQL Server 執行個體。如果組態值設定 (如過度調配記憶體) 造成伺服器無法啟動,這就很有用。 |
-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 參數的預設值:
這些訊息可能表示 SQL Server 正在嘗試釋出 SQL Server 記憶體集區的可用部分,以便找出擴充預存程序 .dll 檔或 Automation 物件等項目的空間。在這種情況下,可考慮增加 -g 選項保留的記憶體大小。 使用的值若小於預設值,會增加緩衝集區與執行緒堆疊可用的記憶體大小,使得系統中不使用許多擴充預存程序、分散式查詢或 Automation 物件的記憶體密集工作負載可以因此而改善一些效能。 |
-h |
以 32 位元 SQL Server 2005 啟用 AWE 時,保留熱新增記憶體中繼資料的虛擬位址空間。32 位元 AWE 的熱新增記憶體有這項需要,不過,這會取用大約 500 GB 的虛擬位址空間,並且使記憶體的微調更加困難。64 位元的 SQL Server 沒有這項需要。熱新增記憶體僅適用於 Enterprise 和 Datacenter Edition。它還需要硬體供應商的特殊硬體支援。 |
-m |
當您以單一使用者模式啟動 SQL Server 執行個體。以單一使用者模式啟動 SQL Server 執行個體時,只有單一使用者可以進行連接,且不會啟動 CHECKPOINT 處理序。CHECKPOINT 會保證將交易規律地從磁碟快取區寫到資料庫裝置。(一般而言,如果遇到一些應該修復系統資料庫的問題時,就會使用這個選項)。這個選項會啟用 sp_configure allow updates 選項。依預設,allow updates 是停用的。 |
-n |
請不要使用 Windows 應用程式記錄檔來記錄 SQL Server 事件。如果您使用 -n 來啟動 SQL Server 的執行個體,我們建議您同時使用 -e 啟動選項。否則,系統不會記錄 SQL Server 事件。 |
-s |
可讓您啟動 SQL Server 2005 的具名執行個體。若未設定 -s 參數,預設執行個體將嘗試啟動。您必須先在命令提示字元之下,切換到執行個體的適當 BINN 目錄,才能啟動 sqlservr.exe。例如,如果 Instance1 的二進位編碼檔案使用 \mssql$Instance1,使用者就必須位於 \mssql$Instance1\binn 目錄中,才能啟動 sqlservr.exe -s instance1。 |
-Ttrace# |
指出啟動 SQL Server 執行個體時,應該已啟用指定的追蹤旗標 (trace#)。追蹤旗標用來啟動具有非標準行為的伺服器。如需詳細資訊,請參閱<追蹤旗標 (Transact-SQL)>。 |
-x |
停止保留 CPU 時間和快取叫用比率統計資料。允許最大效能。 |
![]() |
---|
指定具有 -T 選項的追蹤旗標時,請使用大寫 "T" 來傳送追蹤旗標號碼。SQL Server 會接受小寫 "t",但這會設定 SQL Server 支援工程師才需要的其他內部追蹤旗標(不會讀取控制台啟動視窗中所指定的參數)。 |
使用啟動選項進行疑難排解
有些啟動選項 (例如單一使用者模式和最低組態模式) 主要是在疑難排解期間使用。手動啟動 sqlservr.exe 時,使用 –m 或 –f 選項來啟動伺服器進行疑難排解是在命令列中最容易完成的作業。
![]() |
---|
使用 net start 啟動 SQL Server 時,啟動選項會使用斜線 (/) 來取代連字號 (-)。 |
在正常作業期間使用啟動選項
在您每次啟動 SQL Server 時,可能都會想要使用一些啟動選項。只要使用 SQL Server Management Studio 或 SQL Server 組態管理員來設定啟動參數,很容易就可以完成這些選項 (例如 –g 或以追蹤旗標啟動)。這些工具會將啟動選項儲存成登錄機碼,這樣 SQL Server 就一定會使用這些啟動選項來啟動。
請參閱
工作
如何:啟動 SQL Server 的執行個體 (sqlservr.exe)
如何:啟動 SQL Server 的執行個體 (SQL Server 組態管理員)
如何:啟動 SQL Server 的執行個體 (net 命令)
其他資源
使用 sqlservr.exe 從命令提示字元管理 SQL Server
CHECKPOINT (Transact-SQL)