SQL Server 服務的啟動/關閉方式多樣,適用不同自動化層級與故障排查場景。掌握各方法特性與 sqlservr.exe 進階參數,是 DBA 掌控服務生命週期的核心技能。
| 方式 | 適用場景 | 優點 | 缺點 |
|---|---|---|---|
| Enterprise Manager | 日常人工管理 | 圖形化、狀態即時顯示 | 需 EM 連線、不適合腳本化 |
| SQL Server Service Manager | 系統盤快速控制 | 常駐系統盤、支援暫停/繼續 | 僅限本機、無遠端能力 |
| 自動啟動 (服務/排程) | 生產環境標準部署 | 開機自動、無人值守 | 故障時需手動介入 |
| 控制台服務管理員 | 服務層級故障排查 | 作業系統原生、可設定復原動作 | 介面較繁瑣 |
| 命令列 (net start / sqlservr) | 自動化腳本、容器化、除錯模式 | 可參數化、支援進階啟動旗標 | 需管理員權限、無圖形回饋 |
sqlservr [-c] [-d master_path] [-f] [-e error_log_path]
[-l master_log_path] [-m] [-n] [-p precision_level]
[-s registry_key] [-T trace#] [-v] [-x]
| 參數 | 功能 | 典型使用場景 |
|---|---|---|
-c | 獨立於服務控制管理器啟動,縮短啟動時間 | 除錯、單機開發環境 |
-d | 指定 master 資料庫完整路徑 (無空格) | master 檔案異地遷移後強制指定 |
-f | 最小配置啟動 (單一使用者、最小記憶體、預設參數) | 配置錯誤導致無法正常啟動時的緊急修復 |
-e | 指定錯誤記錄檔完整路徑 | 多實例共用錯誤記錄目錄管理 |
-l | 指定 master 記錄檔完整路徑 | master 記錄檔損壞/遷移後指定新路徑 |
-m | 單一使用者模式啟動 | 系統資料庫修復、sa 密碼重設 |
-n | 不使用 Windows 應用程式記錄事件 | 高頻事件避免塞滿系統記錄 |
-p | 設定 decimal/numeric 最大精度 (1-38, 預設 28) | 高精度財務計算應用 |
-s | 指定啟動參數登錄機碼 | 多實例參數模板化管理 |
-T | 啟動時啟用指定追蹤旗標 (大寫 T) | 效能調優、行為變更測試 |
-v | 啟動時顯示版本資訊 | 版本驗證、庫存掃描 |
-x | 停用 CPU 統計資訊收集 | 極致效能環境減少額外負擔 |
NET STOP MSSQLSERVER (預設實例) / NET STOP MSSQL$InstanceName (具名實例)SHUTDOWN (T-SQL 指令,需 sysadmin,可加 WITH NOWAIT 強制立即關閉)-f 最小配置啟動修復配置錯誤後,務必在 EM/SSMS 中修正參數再正常重啟。-T3608 (僅復原 master) 與 -T3609 (跳過所有資料庫復原) 是災難復原進階技巧,需極度謹慎使用。sqlservr 前景執行模式 (無 -c) 作為 PID 1 進程,配合健康檢查端點。熟練駕馭服務啟動參數,能在關鍵時刻(master 損壞、配置錯誤、效能異常)精準施策,將停機時間壓縮至最低。