Database Engine 服務啟動選項

適用於:SQL Server

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

警告

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

mssql 使用者身分啟動 Linux 上的 SQL Server,以免未來發生啟動問題。 範例: sudo -u mssql /opt/mssql/bin/sqlservr [STARTUP OPTIONS]

關於啟動選項

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

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

下列螢幕擷取畫面顯示 [SQL Server 屬性] 對話方塊中的 [啟動參數] 索引標籤,您可以在其中修改啟動參數。

Screenshot of the SQL Server (MSSQLSERVER) Properties dialog, with the Startup Parameters tab selected.

啟動選項清單

預設啟動選項

選項。 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 描述。
-kDecimalNumber 這個啟動參數會限制每秒的檢查點 I/O 要求數目,其中 DecimalNumber 代表每秒的檢查點速度 (MB)。 變更此值可能會影響備份的速度或進行復原程序,因此請謹慎執行。 也就是說,如果針對參數指定非常低的值,則可能會經歷較長的復原時間,且備份也可能需要稍長時間才能完成,因為備份起始的檢查點程序也延遲了。

您可不使用此參數,改用下列方法協助消除系統的 I/O 瓶頸:

- 提供適當的硬體來維持 SQL Server 所張貼的 I/O 要求

- 執行足夠的應用程式微調
-m 在單一使用者模式中啟動 SQL Server 執行個體。 在單一使用者模式中啟動 SQL Server 的執行個體時,只有單一使用者可以連線,且不會啟動 CHECKPOINT 程序。 CHECKPOINT 會保證將交易規律地從磁碟快取區寫到資料庫裝置。 (一般而言,如果遇到一些應該修復系統資料庫的問題時,就會使用這個選項)。這個選項會啟用 sp_configure 選項。 根據預設,allow updates 是停用的。 在單一使用者模式中啟動 SQL Server,可讓電腦本機系統管理員群組的任何成員以 sysadmin 固定伺服器角色的成員身分連線至 SQL Server 的執行個體。 如需詳細資訊,請參閱 當系統管理員遭到鎖定時連接到 SQL Server。如需單一使用者模式的詳細資訊,請參閱 以單一使用者模式啟動 SQL Server
-m用戶端應用程式名稱 限制與所指定用戶端應用程式的連接。 例如,-mSQLCMD 會將連線限制為單一連線,而且該連線必須將自己識別為 SQLCMD 用戶端程式。 在單一使用者模式中啟動 SQL Server 且有未知的用戶端應用程式佔用唯一可用的連線時,請使用此選項。 使用 "Microsoft SQL Server Management Studio - Query" 與 SSMS 查詢編輯器連接。 SSMS 查詢編輯器選項無法透過 SQL Server 組態管理員進行設定,因為它包含此工具拒絕的虛線字元。

用戶端應用程式名稱區分大小寫。 如果應用程式名稱包含空格或特殊字元,則需要以雙引號括住。

從命令列啟動時的範例:

C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Binn\sqlservr -s MSSQLSERVER -m"Microsoft SQL Server Management Studio - Query"

C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Binn\sqlservr -s MSSQLSERVER -mSQLCMD

安全性注意事項: 請勿將這個選項當做安全性功能使用。 用戶端應用程式會提供用戶端應用程式名稱,而且可能會在連接字串中提供假的名稱。
-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 來傳遞追蹤旗標編號,而且 -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 時,可能都會想要使用一些啟動選項。 使用 SQL Server 組態管理員來設定啟動參數,很容易就可以完成這些選項 (例如,使用追蹤旗標來啟動)。 這項工具會將啟動選項儲存成登錄機碼,這樣 SQL Server 就一定會使用這些啟動選項來啟動。

相容性支援

如需已從先前版本移除的選項,請參閱 應用程式

另請參閱

下一步