錯誤現象
無法連接到 WENTASY-PC/SQLEXPRESS。使用者 'sa' 登入失敗。錯誤: 18456
三步驟解決
1. 啟用 sa 帳號並設定密碼
- 使用 Windows 驗證登入 SSMS
- 展開 安全性 → 登入名稱 → 雙擊 sa
- 一般 頁:輸入/確認強密碼
- 狀態 頁:登入 → 啟用 → 確定
2. 設定伺服器為混合驗證模式
- 右鍵伺服器名稱 → 內容
- 安全性 頁:選擇 SQL Server 和 Windows 驗證模式
- 確定 → 必須重啟 SQL Server 服務生效
3. 重新以 sa 登入測試
- 斷開連線 → 選擇 SQL Server 驗證
- 登入:
sa,密碼:剛設定的密碼
- 連接成功
根本原因分析
安裝時雖選擇混合模式,但 sa 預設停用且無密碼。Windows 驗證登入後必須手動啟用 sa、設定密碼,並確認伺服器層級確實為混合模式 (有時安裝選項未生效)。
18456 State 碼快速查核
| State | 含義 | 對應動作 |
| 7 | 帳號停用 | ALTER LOGIN sa ENABLE |
| 8 | 密碼錯誤 | 重設密碼 |
| 11/12 | 驗證模式不符 | 設定混合模式 + 重啟服務 |
安全性建議
- sa 密碼必須複雜、長度 ≥ 16 字元,定期輪換
- 生產環境禁用 sa,建立專用低權限 SQL 登入
- 啟用 登入失敗稽核:伺服器內容 → 安全性 → 登入稽核:失敗的登入
- 考慮鎖定原則:
ALTER LOGIN sa WITH CHECK_POLICY = ON