我有一个使用SQL Server Express 2005数据库的.Net 3.5应用程序,该数据库允许通过TCP / IP进行连接。安装了SQL Server的计算机是域的一部分。该程序安装在3台计算机上并共享同一个数据库。连接字符串位于所有计算机之间共享的文件中。 SQL Server安装在Windows Server 2003计算机上。另外两台计算机是Windows XP。其中一台XP机器是域的一部分,与服务器位于同一位置。另一台XP计算机不属于域,并使用硬件VPN连接到服务器(始终打开)。作为域的一部分的Windows Server和XP机器上的程序能够打开与数据库的连接,但是在尝试打开连接时,通过VPN连接的XP机器会超时。服务器具有混合模式身份验证。我使用的身份验证是Sql server用户名和密码。
这是我用来试图找出问题的清单:
1. SQL浏览器正在Windows Server计算机上运行。 [港口:1434]
2. SQL Server正在接受TCP上的连接(但不是命名管道)
3.服务器从客户端响应Ping
4.检查sql server的ErrorLog并记下端口。我能够从客户端的命令行telnet到服务器IP和SQL端口。
如何找到连接超时的位置?是否有便携式程序(无安装),我可以在服务器上使用它来检查网络流量,看看请求是在中间接收还是丢弃?
谢谢,
基肖尔。甲
答案 0 :(得分:2)
您可以使用SysInternals TCPView来监控流量。
答案 1 :(得分:2)
-don
答案 2 :(得分:0)
我知道没有便携式网络嗅探器,因为您需要WinCAP才能将卡置于混杂模式。你可以做的是在XP机器上安装Wireshark来转储网络流量,并使用服务器上的管理工作室来监视连接。
您还可以在服务器上使用netstat查看开放端口,并了解VPN IP地址,这也将告知服务器上是否已打开套接字。
eg: netstat -p tcp -b
这将生成显示src / dest IP地址的输出和使用该套接字的应用程序
TCP 192.168.1.1:1146 192.168.1.1:80 ESTABLISHED
[FIREFOX.EXE]