我在我的服务器上将端口1433转发到9082,防火墙设置为允许入站和出站,在SQL Server上允许远程启用。
但是,我无法从客户端连接到我的SQL Server。
我安装了SQL Server 2012。
建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供者:SQL网络接口,错误:25 - 连接字符串无效)
答案 0 :(得分:3)
首先在ERRORLOG中检查SQL Server使用的端口(不保证它将始终在1433上侦听,或者根本不启用TCP)。
在ERRORLOG中,在启动时,你会发现像这样的一行:
在我的情况下,港口确实是1433,但你的可能会有所不同。如果需要,可以使用SQL Server配置管理器进行更改。
其次,如果要将端口转发到另一个端口(例如1433到9082的示例),实际上是禁用了SQL Server Browser。发生这种情况是因为SQL Server Browser不知道您的端口转发,因此它将告诉客户端连接到1433(假设您允许UDP 1434,否则您将无法访问SQL Server浏览器)。
您可以在不使用SQL Server浏览器的情况下连接到SQL实例,但您只需在连接字符串中指定端口(不包含实例名称)。
例如,如果您的实例名为MYSERVER/INST
,则您的连接字符串将类似于:
User ID=*****;Password=*****;server=tcp:MYSERVER,9082
另外,请确保手动配置SPN,否则Kerberos将无法正常工作。
您可以在此处找到有关如何撰写正确连接字符串的更多详细信息:SqlConnection.ConnectionString Property。
答案 1 :(得分:2)
如果转发了端口,则解决了使用Microsoft SQL Server Management Studio连接到MS SQL Server的问题
我也有这个问题。几天来一直困扰着我。最后,我偶然发现了此页面上的解决方案,因此我将其排除为屏幕截图:
与其他系统不同,它不是:
,您必须放置,
答案 2 :(得分:0)
首先尝试配置您的路由器。毕竟连接。顺便说一句,是否已启用TCP / IP @sql?确保为sql打开端口。