Database Engine 服務啟動選項

啟動選項指定啟動期間所需的特定檔案位置,並指定一些整個伺服器範圍的條件。 除非您要對資料庫引擎進行疑難排解,或是發生異常問題而 SQL Server 客戶支援指示您使用啟動選項,否則大部分使用者都不需要指定啟動選項。

警告

不正確使用啟動選項,可能會影響伺服器效能,而且可能會導致 SQL Server 無法啟動。

關於啟動選項

安裝 SQL Server 時,安裝程式會在 Microsoft Windows 登錄中寫入一組預設啟動選項。 您可使用這些啟動選項來指定替代 master 資料庫檔案、master 資料庫記錄檔或錯誤記錄檔。 如果資料庫引擎找不到必要的檔案,SQL Server 將無法啟動。

您可以使用 SQL Server 組態管理員來設定啟動選項。 如需相關資訊,請參閱設定伺服器啟動選項 (SQL Server 組態管理員)

啟動選項清單

預設啟動選項 Description
-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)。 如果不指定這個選項,就會使用現有的登錄參數。
其他啟動選項 描述
-c 縮短從命令提示字元啟動 SQL Server 的啟動時間。 一般而言,SQL Server 資料庫引擎會呼叫服務控制管理員,以服務方式啟動。 因為從命令提示字元啟動時 SQL Server 資料庫引擎不會以服務方式啟動,請使用 -c 略過這個步驟。
-f 啟動僅具有最低組態的 SQL Server 執行個體。 如果組態值設定 (如過度調配記憶體) 造成伺服器無法啟動,這就很有用。 在最低組態模式中啟動 SQL Server 會將 SQL Server 放在單一使用者模式。 如需詳細資訊,請參閱後續的 -m 描述。
-gmemory_to_reserve 指定 (MB) 記憶體的整數數目,SQL Server將保留供SQL Server進程內的記憶體配置使用,但在SQL Server記憶體集區之外。 記憶體集區外部的記憶體是SQL Server用於載入專案的區域,例如擴充程式.dll檔案、分散式查詢所參考的 OLE DB 提供者,以及 Transact-SQL 語句中所參考的自動化物件。 預設值是 256 MB。

使用此選項可幫助微調記憶體配置,但僅適用於當實體記憶體超出作業系統為應用程式所設定的可用虛擬記憶體限制時。 使用此選項可能適用于大型記憶體組態,其中SQL Server的記憶體使用量需求不典型,且完全使用SQL Server進程的虛擬位址空間。 此選項的使用不正確可能會導致SQL Server實例可能無法啟動或可能會遇到執行階段錯誤的情況。

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

-「失敗的虛擬配置位元組:FAIL_VIRTUAL_RESERVE < 大小 > 」

-「失敗的虛擬配置位元組:FAIL_VIRTUAL_COMMIT < 大小 > 」

這些訊息可能表示SQL Server嘗試釋放SQL Server記憶體集區的元件,以便尋找專案的空間,例如擴充預存程式.dll檔案或自動化物件。 在這種情況下,可考慮加大 -g 參數所保留的記憶體總數量。

使用的值若小於預設值,會增加 SQL Server Memory Manager 所管理之記憶體集區與執行緒堆疊可用的記憶體大小,使得系統中不使用許多擴充預存程序、分散式查詢或 Automation 物件的記憶體密集工作負載可以因此而改善一些效能。
-m 在單一使用者模式中啟動 SQL Server 的執行個體。 在單一使用者模式中啟動 SQL Server 的執行個體時,只有單一使用者可以連線,且不會啟動 CHECKPOINT 程序。 CHECKPOINT 會保證將交易規律地從磁碟快取區寫到資料庫裝置。 (一般而言,如果遇到一些應該修復系統資料庫的問題時,就會使用這個選項)。這個選項會啟用 sp_configure allow updates 選項。 根據預設,allow updates 是停用的。 在單一使用者模式中啟動 SQL Server,可讓電腦本機系統管理員群組的任何成員以 sysadmin 固定伺服器角色的成員身分連線至 SQL Server 的執行個體。 如需詳細資訊,請參閱 當系統管理員遭到鎖定時連接到 SQL Server。如需單一使用者模式的詳細資訊,請參閱 以單一使用者模式啟動 SQL Server
-m「用戶端應用程式名稱」 當您搭配SQLCMD或SQL Server Management Studio使用-m選項時,會限制與指定用戶端應用程式的連線。 例如, -m"SQLCMD" 會限制連線為單一連線,且連線必須將自己識別為 SQLCMD 用戶端程式。 在單一使用者模式中啟動 SQL Server 且有未知的用戶端應用程式佔用唯一可用的連線時,請使用此選項。 若要透過 Management Studio 中的查詢編輯器進行連線,請使用-m「Microsoft SQL Server Management Studio - Query」。

用戶端應用程式名稱區分大小寫。

** 安全性注意事項 ** 請勿使用此選項作為安全性功能。 用戶端應用程式會提供用戶端應用程式名稱,而且可能會在連接字串中提供假的名稱。
-n 請勿使用 Windows 應用程式記錄檔來記錄 SQL Server 事件。 若您使用 -n 啟動 SQL Server 的執行個體,建議您同時使用 -e 啟動選項。 否則,不會記錄 SQL Server 事件。
-s 允許您啟動 SQL Server 的具名執行個體。 若未設定 -s 參數,則會嘗試啟動預設執行個體。 您必須先在命令提示字元處切換至該執行個體的適當 BINN 目錄,才能啟動 sqlservr.exe。 例如,如果 Instance1 原先為二進位編碼檔案使用 \mssql$Instance1,使用者就必須位於 \mssql$Instance1\binn 目錄中,才能啟動 sqlservr.exe -s instance1
-Ttrace# 指出啟動 SQL Server 執行個體時,應該已啟用指定的追蹤旗標 (trace#)。 追蹤旗標用來啟動具有非標準行為的伺服器。 如需詳細資訊,請參閱追蹤旗標 (Transact-SQL)

**重要** 使用 -T 選項指定追蹤旗標時,請使用大寫 「T」 傳遞追蹤旗標編號。 SQL Server接受小寫 「t」,但這會設定其他只有SQL Server支援工程師所需的內部追蹤旗標。 (不會讀取控制台啟動視窗中所指定的參數)。
-x 停用下列監視功能:

SQL Server效能監視器計數器

保留 CPU 時間和快取叫用比率統計資料

收集 DBCC SQLPERF 命令的資訊

收集某些動態管理檢視的資訊

許多擴充的事件事件點



**警告**當您使用-x啟動選項時,可協助您診斷SQL Server效能和功能問題的資訊會大幅降低。
-E 增加針對檔案群組內每一個檔案所配置的範圍數。 這個選項對於有限制執行索引或資料掃描之使用者數目的資料倉儲應用程式可能會很有幫助。 其他應用程式內不應該使用這個選項,因為它對於效能可能有負面影響。 32 位元的 SQL Server 版本中不支援這個選項。

使用啟動選項進行疑難排解

有些啟動選項 (例如單一使用者模式和最低組態模式) 主要是在疑難排解期間使用。 手動啟動 sqlservr.exe 時,使用 -m-f 選項來啟動伺服器進行疑難排解是在命令列中最容易的作業。

注意

使用 net start 啟動 SQL Server 時,啟動選項會使用斜線 (/),而非連字號 (-)。

在正常作業期間使用啟動選項

在您每次啟動 SQL Server 時,可能都會想要使用一些啟動選項。 這些選項,例如-g或從追蹤旗標開始,透過使用 SQL Server 組態管理員 設定啟動參數,最容易完成。 這些工具會將啟動選項儲存成登錄機碼,這樣 SQL Server 就一定會使用這些啟動選項來啟動。

相容性支援

SQL Server 2014 不支援-h參數。 此參數用於舊版的 32 位實例SQL Server,以在啟用 AWE 時保留經常性新增記憶體中繼資料的虛擬記憶體位址空間。 如需詳細資訊,請參閱在 SQL Server 2014 中停止 SQL Server 的功能

設定 scan for startup procs 伺服器組態選項

啟動、停止、暫停、繼續、重新啟動 Database Engine、SQL Server Agent 或 SQL Server Browser 服務

另請參閱

CHECKPOINT (Transact-SQL)
sqlservr 應用程式