本地SQL Server实例连接失败(Error 53)及C# .NET项目连接求助
SSMS本地SQL Server连接问题补充排查方法
- 检查SQL Server及相关服务状态:打开服务(services.msc),确认SQL Server(你的实例名)服务处于正在运行状态,启动类型设为自动,防止手动停止后无法自启。另外务必开启SQL Server Browser服务——尤其是用命名实例的情况,这个服务负责解析实例对应的端口。
- 启用TCP/IP协议:打开SQL Server配置管理器,展开「SQL Server网络配置」,找到对应实例的协议列表,确保TCP/IP是启用状态。双击TCP/IP,切换到「IP地址」选项卡,找到IPALL区域,确认TCP端口是默认的1433(默认实例),或者命名实例的动态端口已配置,且防火墙允许该端口通行。
- 排查本地防火墙拦截:打开Windows Defender防火墙高级设置,确认存在允许SQL Server(或对应端口1433/自定义端口)的入站规则。临时测试的话,可以先关闭防火墙试试,能连接再去配置规则。
- 换连接地址尝试:别死磕实例名,试试用
127.0.0.1、localhost或者计算机名来连接,命名实例格式是IP地址\实例名或localhost\实例名。 - 查看SQL Server错误日志:如果能通过其他方式进SSMS,或者在配置管理器里找错误日志,里面会记录连接失败的具体原因,比如端口被占、权限不足等。
- 验证Windows账号权限:确认当前登录Windows的账号,在SQL Server里有登录权限。如果能连其他实例,就去检查该账号有没有访问目标实例的权限。
- 检查端口占用:打开命令提示符,执行
netstat -ano | findstr :1433(默认端口),看看是不是有别的进程占了SQL Server的端口,有的话要么停掉占用进程,要么改SQL Server的端口。
C# .NET Framework项目连接SQL Server步骤
- 准备连接字符串:根据身份验证方式选对应的字符串:
- Windows身份验证:
Data Source=你的实例名;Initial Catalog=目标数据库名;Integrated Security=True; - SQL Server身份验证:
Data Source=你的实例名;Initial Catalog=目标数据库名;User ID=用户名;Password=密码;
其中Data Source可以填localhost\实例名、127.0.0.1\实例名或者计算机名加实例名;Initial Catalog是你要连接的具体数据库名称。
- Windows身份验证:
- 添加引用:打开Visual Studio的.NET Framework项目,右键项目→添加→引用,找到
System.Data.SqlClient并勾选添加(新版本.NET Framework可能默认已包含)。 - 写测试代码:
using System; using System.Data.SqlClient; namespace SqlConnectionDemo { class Program { static void Main(string[] args) { // 替换成你的连接字符串 string connectionString = "Data Source=localhost\\SQLEXPRESS;Initial Catalog=TestDB;Integrated Security=True;"; using (SqlConnection connection = new SqlConnection(connectionString)) { try { connection.Open(); Console.WriteLine("连接成功!"); // 这里可以加SQL操作,比如查询、插入 } catch (Exception ex) { Console.WriteLine("连接失败:" + ex.Message); } } Console.ReadLine(); } } } - 测试运行:启动项目,要是输出「连接成功」就说明配置没问题;失败的话看控制台的错误提示,排查连接字符串、权限、服务状态这些点。
内容的提问来源于stack exchange,提问作者Kavinda
相关产品推荐
相关产品推荐

