首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 連線常見錯誤分析 (二):無法連線/使用者登入失敗

     編輯:關於SqlServer

錯誤現象

錯誤訊息:「無法連接到伺服器,使用者 'xxx' 登入失敗」。

根本原因

SQL Server 設定為 **「僅 Windows 驗證」**,導致 SQL Server 驗證帳號 (如 sa) 無法登入。

解決方案:啟用混合驗證模式

方法一:企業管理員圖形介面 (需 Windows 管理員帳號登入)

  1. 企業管理員 → 選擇「使用 Windows 驗證」連線。
  2. 展開 SQL Server 群組 → 右鍵伺服器名稱 → 內容 → 安全性 索引標籤。
  3. 驗證模式選擇 **「SQL Server 和 Windows」**。
  4. 確定 → **重新啟動 SQL Server 服務** (MSSQLSERVER) 生效。

方法二:登錄編輯器 (若無法以 Windows 驗證登入企業管理員)

  1. 執行 regedit。
  2. 瀏覽至:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer。
  3. 找到 LoginMode (REG_DWORD),雙擊修改值:1 (僅 Windows) → 2 (混合模式)。
  4. 關閉編輯器 → **重新啟動 SQL Server 服務**。

後續問題:Windows 內建管理員帳號遺失

切換混合模式後,若原本的 Windows 內建管理員帳號被刪除,將無法使用 Windows 驗證登入。需手動重建:

  1. 企業管理員 → 安全性 → 登入 → 右鍵新增登入。
  2. 名稱輸入:BUILTIN\Administrators → 伺服器角色勾選 系統管理員 → 確定。
  3. 同樣新增:<機器名>\Administrator → 勾選系統管理員。

LoginMode 註冊值對照

值驗證模式
1Windows 驗證
2混合模式 (Windows + SQL Server)

驗證步驟

  1. 服務重啟後,使用 sa + 密碼 於企業管理員/查詢分析器登入。
  2. 同步測試 Windows 驗證 (需已重建 BUILTIN\Administrators)。

安全性建議

  • 生產環境 **停用 sa 帳號** 或設定高強度密碼,建立專用應用程式帳號並套用最小權限。
  • 啟用 **登入稽核** (伺服器屬性 → 安全性 → 稽核層級:失敗/成功),追蹤異常登入。
  • 定期檢視錯誤記錄檔與 Windows 安全性事件記錄 (Event ID 4625)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved