首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

SQL Server sa 登錄失敗 18456 錯誤排查與密碼策略解決

     編輯:MySQL 資料庫相關知識

錯誤 18456 伴隨「密碼有效性驗證失敗,該密碼太短,不符合 Windows 策略要求」提示,通常因域策略強制密碼複雜度,導致簡單密碼無法設置。

排查路徑

  1. 確認 SQL Server 服務均已啟動。
  2. 排除防火牆/端口問題(1433/1434 開放)。
  3. Windows 認證登錄成功 → 實例屬性 →「安全性」→ 確認為「SQL Server 和 Windows 身份驗證模式」。
  4. 嘗試啟用 sa 並修改密碼:
    EXEC sp_password '舊密碼', '新密碼', 'sa';
    ALTER LOGIN sa ENABLE;
  5. 報錯 15116 → 確認密碼不符合域策略(長度、複雜度、歷史記錄)。

解決方案

-- 設置符合策略的強密碼(含大小寫、數字、特殊符號,≥8位)
EXEC sp_password 'sa', 'Uiop_098Mn', 'sa';
ALTER LOGIN sa ENABLE;

深度說明

  • 本地安全策略可能被域策略覆蓋(gpedit.msc 查看為「未配置」實則生效域策略)。
  • 可通過 SELECT * FROM sys.sql_logins WHERE name='sa'; 查看 is_policy_checked、is_expiration_checked 狀態。
  • 若無法滿足策略,可暫時關閉 sa 的策略檢查:
    ALTER LOGIN sa WITH CHECK_POLICY = OFF;(不推薦長期使用)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved