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

.NET 8部署Linux环境时SQL Server连接实例名报错咨询

问题分析与解决

这个问题和微软近期变更无关,核心原因是Linux环境下的SQL Server客户端不支持用反斜杠\指定实例名的格式:Windows系统中SQL Server依赖WINS/SMB广播实现实例定位,但Linux版的Microsoft.Data.SqlClient不支持该机制,当你在连接字符串中写<DB_ALIAS>\i01,99999时,客户端会把整个字符串当作服务器名解析,最终导致无法定位目标实例。

可行解决方案

直接调整连接字符串格式,适配Linux环境的客户端规则:

  • 推荐格式:直接使用别名/IP+端口
    既然已经指定了固定端口99999,实例名i01已无必要(实例端口固定后可直接通过端口访问),修改为:

    Data Source=<DB_ALIAS>,99999;Initial Catalog=DbName;User ID=<username>;Password=<password>
    
  • 替代格式:使用Server关键字
    语法逻辑和上述一致,只是关键字不同:

    Server=<DB_ALIAS>,99999;Initial Catalog=DbName;User ID=<username>;Password=<password>
    

补充说明

你的.NET 8代码配置(AddDbContext结合UseSqlServer)本身没有问题,故障完全源于连接字符串的跨平台兼容性差异——Windows客户端支持\实例名的实例发现方式,但Linux客户端必须直接指定端口。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 16:28:17