錯誤現象
錯誤訊息:「無法連接到伺服器,使用者 'xxx' 登入失敗」。
根本原因
SQL Server 設定為 **「僅 Windows 驗證」**,導致 SQL Server 驗證帳號 (如 sa) 無法登入。
解決方案:啟用混合驗證模式
方法一:企業管理員圖形介面 (需 Windows 管理員帳號登入)
- 企業管理員 → 選擇「使用 Windows 驗證」連線。
- 展開 SQL Server 群組 → 右鍵伺服器名稱 → 內容 → 安全性 索引標籤。
- 驗證模式選擇 **「SQL Server 和 Windows」**。
- 確定 → **重新啟動 SQL Server 服務** (MSSQLSERVER) 生效。
方法二:登錄編輯器 (若無法以 Windows 驗證登入企業管理員)
- 執行
regedit。
- 瀏覽至:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer。
- 找到
LoginMode (REG_DWORD),雙擊修改值:1 (僅 Windows) → 2 (混合模式)。
- 關閉編輯器 → **重新啟動 SQL Server 服務**。
後續問題:Windows 內建管理員帳號遺失
切換混合模式後,若原本的 Windows 內建管理員帳號被刪除,將無法使用 Windows 驗證登入。需手動重建:
- 企業管理員 → 安全性 → 登入 → 右鍵新增登入。
- 名稱輸入:
BUILTIN\Administrators → 伺服器角色勾選 系統管理員 → 確定。
- 同樣新增:
<機器名>\Administrator → 勾選系統管理員。
LoginMode 註冊值對照
| 值 | 驗證模式 |
| 1 | Windows 驗證 |
| 2 | 混合模式 (Windows + SQL Server) |
驗證步驟
- 服務重啟後,使用
sa + 密碼 於企業管理員/查詢分析器登入。
- 同步測試 Windows 驗證 (需已重建 BUILTIN\Administrators)。
安全性建議
- 生產環境 **停用
sa 帳號** 或設定高強度密碼,建立專用應用程式帳號並套用最小權限。
- 啟用 **登入稽核** (伺服器屬性 → 安全性 → 稽核層級:失敗/成功),追蹤異常登入。
- 定期檢視錯誤記錄檔與 Windows 安全性事件記錄 (Event ID 4625)。