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

SQL Server 登入失敗:該帳戶的密碼必須變更 — 根因與解決

     編輯:關於SqlServer

錯誤訊息

System.Data.SqlClient.SqlException: 用戶 'jb51net' 登錄失敗。原因: 該帳戶的密碼必須更改。

根因:SQL Server 2005/2008 安全策略升級

建立 SQL Server 驗證登入時,預設勾選三項策略:

  1. 強制執行密碼策略(複雜度、長度、歷史)
  2. 強制密碼過期
  3. 用戶下次登入必須變更密碼 ← 導致此錯誤的直接原因

這三項對應 Windows 安全策略,預設全開。

解決方案

方案一:SSMS 修改密碼(需用該帳號登入)

  1. SSMS 以 SQL Server 驗證 方式,用該帳號/舊密碼登入
  2. 系統強制彈出修改密碼對話框,設定新密碼
  3. 後續即可正常使用

方案二:重建帳號並取消三項策略(推薦,適用無法登入情況)

  1. 用 sa 或 Windows 驗證登入 SSMS
  2. 刪除舊帳號 jb51net
  3. 建立新帳號名稱(舊名稱可能受策略殘留影響)
  4. 取消勾選三項密碼策略
  5. 設定密碼,完成

關鍵提醒

  • 系統登入密碼 ≠ 資料庫帳號密碼,切勿設定相同
  • 生產環境建議:啟用密碼策略但關閉「下次必改」,平衡安全與可用性
  • 若仍有問題,參考:SQL Server 登入失敗進階排查

建立登入腳本範例(無強制改密)

CREATE LOGIN [app_user] WITH PASSWORD = 'StrongP@ssw0rd',
    DEFAULT_DATABASE = [AppDB],
    CHECK_EXPIRATION = OFF,      -- 不強制過期
    CHECK_POLICY = ON;           -- 保留複雜度策略
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved