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

C# WinForm连接SSMS本地SQL数据库连接失败如何排查

C# WinForm连接本地SQL Server Express连通性故障排查方案

最高发问题优先修复

你当前代码里的连接字符串存在语法错误:主机名与SQL实例名的分隔符错误使用了正斜杠/,SQL Server实例的标准分隔符为反斜杠\,且C#普通字符串中反斜杠需要转义,建议直接使用逐字字符串编写,避免转义问题。修正后的基础连接代码如下:

private void button2_Click(object sender, EventArgs e)
{
    // 逐字字符串前缀@可避免反斜杠转义问题,.代表本地主机,不用写死计算机名适配性更好
    SqlConnection connection = new SqlConnection(@"Data Source=.\SQLEXPRESS;Initial Catalog=Test;Integrated Security=True;TrustServerCertificate=True");
    connection.Open();
    MessageBox.Show("connected!");
}

注意:从VS Server Explorer复制连接字符串时,经常会出现转义符丢失、斜杠方向错误的问题,不要直接粘贴使用,优先手动核对分隔符写法。

按顺序排查剩余配置问题

如果修正连接字符串后仍无法连通,按以下优先级逐一检查:

  • 检查SQL Server服务运行状态
    按下Win+R输入services.msc回车打开服务面板,找到名称为SQL Server (SQLEXPRESS)的服务,确认服务状态为「正在运行」,若未运行右键选择启动,建议将启动类型修改为「自动」避免后续开机后服务未启动。
  • 检查SQL Server通信协议状态
    打开SQL Server Configuration Manager,依次找到「SQL Server网络配置 > SQLEXPRESS的协议」,确认右侧列表中的Named Pipes、TCP/IP两个协议均为已启用状态;再找到「SQL Native Client 配置 > 客户端协议」,同样确认上述两个协议已启用,修改配置后重启SQLEXPRESS服务生效。
  • 验证实例本身可用性
    打开SSMS,在连接弹窗中手动输入.\SQLEXPRESS,选择Windows身份验证尝试连接,如果SSMS也无法连通,说明SQL Server Express实例本身安装存在异常,先修复实例安装再做代码连通测试。
  • 排除防火墙干扰
    本地测试时可临时关闭Windows Defender防火墙测试连通性,如果关闭后能正常连接,给防火墙添加入站规则放行SQL Server服务端口即可,SQLEXPRESS命名实例默认使用动态端口,可在TCP/IP协议属性中手动固定端口后再配置规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 05:24:23