情况说明:
SQL Server 数据库账号密码都没错,但是就是提醒登录失败,导致 SpringBoot 项目连接不上数据库。
可能原因:
常见原因可能是安装数据库时,密码设置过于简单未满足强度要求。
解决方法:
通过 Navicat 解决
- 先使用 Navicat 的 Windows 验证模式连接到数据库。如图:

- 再使用 SQL 查询检查 SA 账户的密码状态和锁定状态
-- 检查 SA 账户的详细状态
SELECT name, is_disabled, is_policy_checked, is_expiration_checked, LOGINPROPERTY(name, 'IsLocked') as is_locked, LOGINPROPERTY(name, 'IsMustChange') as must_change, LOGINPROPERTY(name, 'BadPasswordCount') as bad_password_count, LOGINPROPERTY(name, 'BadPasswordTime') as bad_password_time, LOGINPROPERTY(name, 'HistoryLength') as history_length, LOGINPROPERTY(name, 'LockoutTime') as lockout_time, LOGINPROPERTY(name, 'PasswordLastSetTime') as password_last_set_time FROM sys.sql_logins WHERE name = 'sa'
从查询结果可以看到 SA 账户的详细状态:(若账号被锁或未启用需先解开)
is_disabled = 0: ✅ 账户已启用is_policy_checked = 1: ✅ 密码策略已启用is_expiration_checked = 0: ✅ 密码永不过期is_locked = 0: ✅ 账户未锁定bad_password_count = 0: ✅ 没有错误密码尝试lockout_time = 1900-01-01: ✅ 账户未被锁定
- 直接重置 SA 密码,在 Navicat 中使用 SQL 查询执行:
LOGIN sa PASSWORD
name, LOGINPROPERTY(name, ) password_changed_time sys.sql_logins name

