一次连不上SQL的问题解决
很久不配环境了, 新装的一套Windows Server 2008 R2的环境, 发现程序连不上SQL server.
1. 用test.udl连接不上.
2. 抓网络包, 看到三次握手成功. 连不上的原因是SQL Server返回了这条网络包.
458 7:53:48 AM 7/12/2012 33.3707944 System 10.4.2.5 10.4.2.7 SMB2 SMB2:R - NT Status: System - Error, Code = (22) STATUS_MORE_PROCESSING_REQUIRED SESSION SETUP (0x1), SessionFlags=0x0 {SMBOverTCP:12, TCP:11, IPv4:9}
3. 于是, 在Windows Server 2008 R2的feature里添加Telnet Client. 发现SQL Server的1433端口不通.
4. Remote到SQL机器上, 使用命令netstat –ano查看1433端口是否正在被SQL机器监听. 发现正在监听, 正常.
监听1433的进程正是sqlservr.exe, 进程ID是4288.
5. 打开Windows Firewall的配置处, 点击Advanced Settings.
选择Inbound Rules->New Rules->Port->TCP: 1433->Allow the connection->Domain,Private,Public->Name: SQL 1433
保存.
6. 回到客户端机器上, 重新telnet SQL, 连接SQL成功.
小结
===================
在这次排查中, 我们用到了telnet命令和netstat命令.
还用到了UDL文件来测试连接SQL服务.
解决问题的是我们创建了一条Windows Firewall的一条规则, 这条规则让其他的机器能够连接到SQL服务上.
这是一次对连接SQL的典型排错, 希望会大家会有帮助.
致谢
==================
感谢Peter Zhu提供帮助.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2010-07-12 如何将SQL Profiler Trace读入到SQL的表中?