You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel连接SQL Server报错:sa用户登录失败(密码不匹配)

解决Laravel连接SQL Server的sa登录失败问题

根据错误日志提示,核心问题是密码不匹配,结合你的配置,按以下步骤排查修复:

1. 修正.env文件中的密码格式

你的DB_PASSWORD被包裹在双引号中,Laravel读取时会将引号作为密码的一部分传入,导致密码不匹配。修改为:

DB_PASSWORD=password

注意:不要添加任何引号,直接写纯密码字符串。

2. 修正数据库端口配置

SQL Server默认端口为1433,你当前设置的DB_PORT=null是无效值,改为:

DB_PORT=1433

如果你的SQL Server使用自定义动态端口,需要在SQL Server配置管理器中确认实际端口号后填写。

3. 验证sa账户的有效性

  • 确认SQL Server已启用混合身份验证模式(SQL Server和Windows身份验证),仅Windows身份验证会导致sa无法登录。
  • 使用SQL Server Management Studio(SSMS)或sqlcmd工具,用相同的sa账户和密码直接登录数据库,验证密码是否正确,以及sa账户是否被启用(未被锁定/禁用)。

4. 启用加密连接配置(可选但关键)

如果你的SQL Server要求加密连接,取消config/database.php中sqlsrv配置的相关注释:

'sqlsrv' => [
    // ... 其他配置
    'encrypt' => env('DB_ENCRYPT', 'yes'),
    'trust_server_certificate' => env('DB_TRUST_SERVER_CERTIFICATE', 'true'),
],

同时在.env中添加对应变量(如果需要自定义):

DB_ENCRYPT=yes
DB_TRUST_SERVER_CERTIFICATE=true

5. 清除配置缓存

修改配置后,执行以下命令清除Laravel配置缓存,确保新配置生效:

php artisan config:clear
php artisan cache:clear

内容的提问来源于stack exchange,提问作者Ulvy Romy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 02:19:58