使用 Windows 驗證登入 SQL Server 後,嘗試啟用 sa 賬號並修改密碼時,常遇到 Msg 15116: Password validation failed. The password does not meet Windows policy requirements because it is too short.。本文解析域策略覆蓋本地策略的機制,給出符合複雜度要求的密碼設置方案與繞過策略的替代路徑。
-- 設置符合策略的密碼 (長度 12+、四類字符) EXEC sp_password 'sa', 'Uiop_098Mn', 'sa'; -- 舊密碼 NULL 或舊密碼 ALTER LOGIN sa ENABLE; -- 或 使用 ALTER LOGIN (2005+ 推薦) ALTER LOGIN sa WITH PASSWORD = 'Uiop_098Mn' UNLOCK; ALTER LOGIN sa ENABLE;
密碼生成建議:使用密碼管理器生成 16 位隨機密碼,含大寫、小寫、數字、特殊符號 (!@#$%^&*),避免字典詞。
secpol.msc (本地安全策略)。gpupdate /force。ALTER LOGIN sa WITH PASSWORD = 'simple' UNLOCK; ALTER LOGIN sa ENABLE;。⚠️ 風險提示:生產/域環境嚴禁關閉,違反合規審計,且可能被域策略秒級恢復。
微軟強烈建議停用 sa,改用 Windows 驗證專用服務賬號: