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

SQL Server 開啟 sa 登入屬性報錯「屬性 IsLocked 不可用」解決方案

     編輯:關於SqlServer

錯誤現象

在 SSMS 物件總管中右鍵 安全性 → 登入 → sa → 屬性 時彈出錯誤:

無法顯示請求的對話框。屬性 IsLocked 不可用於「登入名 sa」。該物件可能沒有此屬性,也可能是存取權限不足而無法檢索。

根因分析

  • sa 登入的 is_locked 或 is_policy_checked 等屬性在系統目錄中狀態不一致
  • 常見於密碼過期、帳號鎖定、或從舊版本升級遺留的中繼資料問題
  • SSMS 嘗試讀取這些屬性時失敗,導致屬性視窗無法開啟

快速修復腳本

使用 Windows 驗證登入 SSMS,開啟新查詢視窗執行:

ALTER LOGIN sa 
WITH PASSWORD = 'StrongNewPassword123!', 
     UNLOCK, 
     CHECK_POLICY = OFF, 
     CHECK_EXPIRATION = OFF;

參數說明

  • PASSWORD:重設為符合複雜度要求的強密碼
  • UNLOCK:明確解除帳號鎖定狀態
  • CHECK_POLICY = OFF:暫停 Windows 密碼原則檢查 (避免循環鎖定)
  • CHECK_EXPIRATION = OFF:停用密碼到期檢查

後續建議動作

  1. 修復後立即在 SSMS 重新開啟 sa 屬性視窗確認正常
  2. 啟用稽核:ALTER LOGIN sa WITH CHECK_POLICY = ON, CHECK_EXPIRATION = ON; (視合規需求)
  3. 檢查錯誤日誌:EXEC xp_readerrorlog 0, 1, 'sa', 'login'; 追蹤近期登入失敗記錄
  4. 考慮停用 sa、建立專屬 sysadmin 帳號、啟用強制密碼原則

預防措施

  • 定期輪換 sa 密碼並記錄於密碼管理系統
  • 監控 login_failed 事件,設定警示通知
  • 避免應用程式直接使用 sa 連線,採用最小權限原則
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved