我刚刚安装了 SQL Server 2012 和 SQL Server 2008 R2
我可以在本地连接到它没问题
但是当我尝试通过局域网上的另一台电脑连接时,我得到了超时:
超时已过。在操作完成之前超时时间已过或服务器没有响应。
这是代码
Dim queryString = "SELECT * FROM cities"
Using connection As New SqlConnection("data source=PCBOX\MSSERVER;initial catalog=MYDB;persist security info=True;user id=ABC;password=123;Connection Timeout=30")
Dim command As New SqlCommand(queryString, connection)
connection.Open()
Dim reader As SqlDataReader = command.ExecuteReader()
While reader.Read()
Console.WriteLine(String.Format("{0}, {1}", reader(0), reader(1)))
End While
End Using
Dim a = New MYDBEntities
Dim b = a.Cities.ToList
现在有一些有趣的笔记:
- 我什至可以从局域网连接 ssms
- 当我通过 LAN 从 ssms 连接时,我总是首先在 ssms 中获得超时,并且只有在第二次尝试时它才会立即连接。
- 只有当我通过代码查询时才会引发异常。同样的例外是通过 sqlconnection 或 EF
- Visual Studio 本身与数据库的连接没有问题,因为它显示了 EF 向导并显示了可用的表、创建类等......
- 我可以在 LAN 上的 ssms 瞬间执行的查询,我很快就得到了 4 行(仅此而已)
问题可能是什么?
我试过:
- 在配置管理器中启用我可以使用的任何客户端协议
- 重新启动我认为相关的任何服务(代理、浏览器......)
- 重新启动整个服务器电脑
- 更改密码
- 查看 SQL Server 日志(似乎没有显示任何尝试的连接,尽管我可能看错了地方)
- 查看 Windows 防火墙日志 (C:\Windows\System32\LogFiles\Firewall\pfirewall.log) 它是空的
- 在客户端计算机上安装 SQL Server 2012
- 将连接字符串中的端口设置为 1433(我将两个版本都设置为 1433,可以吗?)。但后来我得到另一个错误
建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。连接尝试失败,因为连接方在一段时间后没有正确响应,或者连接失败,因为连接的主机没有响应。