Database Engine 服務啟動選項
啟動選項指定啟動期間所需的特定檔案位置,並指定一些整個伺服器範圍的條件。 除非您要對資料庫引擎進行疑難排解,或是發生異常問題而 SQL Server 客戶支援指示您使用啟動選項,否則大部分使用者都不需要指定啟動選項。
警告
不正確使用啟動選項,可能會影響伺服器效能,而且可能會導致 SQL Server 無法啟動。
關於啟動選項
安裝 SQL Server 時,安裝程式會在 Microsoft Windows 登錄中寫入一組預設啟動選項。 您可使用這些啟動選項來指定替代 master 資料庫檔案、master 資料庫記錄檔或錯誤記錄檔。 如果資料庫引擎找不到必要的檔案,SQL Server 將無法啟動。
您可以使用 SQL Server 組態管理員來設定啟動選項。 如需相關資訊,請參閱設定伺服器啟動選項 (SQL Server 組態管理員)。
啟動選項清單
預設啟動選項 | 描述 |
---|---|
-d master_file_path | master 資料庫檔案的完整路徑 (通常是 C:\Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\Data\master.mdf)。 如果不提供這個選項,會使用現有的登錄參數。 |
-e error_log_path | 這是錯誤記錄檔的完整路徑 (通常是 C:\Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\LOG\ERRORLOG)。 如果不提供這個選項,會使用現有的登錄參數。 |
-l master_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 描述。 |
-g memory_to_reserve | 指定 SQL Server 在 SQL Server 進程內,但 SQL Server 記憶體集區外部的記憶體配置會保留的整數 MB 數(MB)。 記憶體集區外部的記憶體是 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 記憶體管理員和線程堆疊所管理記憶體集區可用的記憶體數量;這反過來又可能會為不使用許多擴充預存程式、分散式查詢或自動化對象的系統中的記憶體密集型工作負載提供一些效能優勢。 |
-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。 |
-T 追蹤# | 指出啟動 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 服務