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

.NET Core Worker Service出现RDP用户登录SQL失败及版本疑问咨询

问题分析与解决

核心原因:连接字符串配置冲突

你的连接字符串同时包含了SQL Server身份验证参数和Windows集成身份验证参数,导致SQL Server优先启用Windows身份验证:

  • User Id=user;Password=pwd:指定使用SQL Server账号登录
  • Trusted_Connection=True:指定使用当前程序运行的Windows用户身份登录(即你RDP登录的domain/xyz用户)

SQL Server的规则是:当Trusted_Connection=True(或等价的Integrated Security=True)存在时,会直接忽略SQL账号的用户名和密码,强制使用Windows身份验证,这就是报错提示RDP用户登录失败的直接原因。

解决步骤

修改连接字符串,移除Trusted_Connection=True参数,保留SQL Server身份验证配置,修正后的连接串如下:

"Server=xyz.a.b;Database=db1;User Id=user;Password=pwd;MultipleActiveResultSets=true;TrustServerCertificate=True;Encrypt=Optional;"

关于.NET Core运行时的疑问

你的Worker Service文件夹下存在runtime子文件夹,说明这是自包含部署的程序。自包含部署会将对应的.NET Core运行时打包进程序目录,不需要在Windows Server 2016上单独安装.NET Core 8.0运行时,程序会直接使用自带的runtime,因此运行时不是导致数据库连接失败的因素。

额外验证说明

你提到能在服务器上通过SSMS用相同SQL账号连接数据库,说明该SQL账号的权限和配置是正常的,只要修正连接字符串的冲突配置,Worker Service就能正常使用指定的SQL账号连接数据库。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 11:57:07