Net*_*zen 3 .net c# sql-server connection-string named-instance
我发生了一个非常奇怪的情况,我希望有人知道为什么.
我为默认端口1433上的所有端口启用了TCP/IP.
所有测试都与SQL Server Management Studio和我的程序一致.
这有效:
这不起作用:
注意:我知道它与防火墙无关,因为我可以通过端口1433 telnet到127.0.0.1.
注意2:连接字符串无关紧要,因为测试与Management Studio一致,但无论如何我都会给它: server={0};Integrated Security=True;Database=MyDatabase
在阅读MSDN时,您似乎应该能够通过IP地址连接到实例名称.
这里发生了什么?
默认情况下,命名的 SQL实例在随机端口上侦听.您需要启动SQL Browser服务,它在1434上侦听UDP并响应指示客户端真正侦听端口的实例发现请求.您还需要允许防火墙根据进程名称来戳孔,以便SQL可以在任何感觉到的端口绑定.
否则,您必须在非命名端口上显式强制命名实例.